CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
// RUN: %clang_cc1 -verify -fms-extensions -Wmicrosoft %s
|
|
// RUN: not %clang_cc1 -P -E -fms-extensions %s | FileCheck -strict-whitespace %s
|
|
|
|
// This horrible stuff should preprocess into (other than whitespace):
|
|
// int foo;
|
|
// int bar;
|
|
// int baz;
|
|
|
|
int foo;
|
|
|
|
// CHECK: int foo;
|
|
|
|
#define comment /##/ dead tokens live here
|
|
// expected-warning@+1 {{pasting two '/' tokens}}
|
|
comment This is stupidity
|
|
|
|
int bar;
|
|
|
|
// CHECK: int bar;
|
|
|
|
#define nested(x) int x comment cute little dead tokens...
|
|
|
|
// expected-warning@+1 {{pasting two '/' tokens}}
|
|
nested(baz) rise of the dead tokens
|
|
|
|
;
|
|
|
|
// CHECK: int baz
|
|
// CHECK: ;
|
|
|
|
|
|
// VC++ allows invalid token pastes: (##baz
|
|
#define foo(x) abc(x)
|
|
#define bar(y) foo(##baz(y))
|
|
bar(q) // expected-error {{type specifier missing}} expected-error {{invalid preprocessing token}} expected-error {{parameter list without types}}
|
|
|
|
// CHECK: abc(baz(q))
|
|
|
|
|
|
#define str(x) #x
|
|
#define collapse_spaces(a, b, c, d) str(a ## - ## b ## - ## c ## d)
|
|
collapse_spaces(1a, b2, 3c, d4) // expected-error 4 {{invalid preprocessing token}} expected-error {{expected function body}}
|
|
|
|
// CHECK: "1a-b2-3cd4"
|