[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / Parser / c11-keywords.c
blob2621e1a1a8595d24f86ce3f94602c3ba82bf3225
1 // RUN: %clang_cc1 %s -std=c11 -fsyntax-only -verify=compat -Wpre-c11-compat
2 // RUN: %clang_cc1 %s -std=c99 -fsyntax-only -verify=ext -pedantic
3 // RUN: %clang_cc1 %s -std=c11 -fsyntax-only -verify=good
4 // RUN: %clang_cc1 -x c++ %s -fsyntax-only -verify=ext -pedantic
6 // good-no-diagnostics
8 extern _Noreturn void exit(int); /* compat-warning {{'_Noreturn' is incompatible with C standards before C11}}
9 ext-warning {{'_Noreturn' is a C11 extension}}
12 void func(void) {
13 static _Thread_local int tl; /* compat-warning {{'_Thread_local' is incompatible with C standards before C11}}
14 ext-warning {{'_Thread_local' is a C11 extension}}
16 _Alignas(8) char c; /* compat-warning {{'_Alignas' is incompatible with C standards before C11}}
17 ext-warning {{'_Alignas' is a C11 extension}}
19 _Atomic int i1; /* compat-warning {{'_Atomic' is incompatible with C standards before C11}}
20 ext-warning {{'_Atomic' is a C11 extension}}
22 _Atomic(int) i2; /* compat-warning {{'_Atomic' is incompatible with C standards before C11}}
23 ext-warning {{'_Atomic' is a C11 extension}}
26 _Static_assert(1, ""); /* compat-warning {{'_Static_assert' is incompatible with C standards before C11}}
27 ext-warning {{'_Static_assert' is a C11 extension}}
30 (void)_Generic(1, int : 1); /* compat-warning {{'_Generic' is incompatible with C standards before C11}}
31 ext-warning {{'_Generic' is a C11 extension}}
33 (void)_Alignof(int); /* compat-warning {{'_Alignof' is incompatible with C standards before C11}}
34 ext-warning {{'_Alignof' is a C11 extension}}