llvm-project
36 строк · 2.1 Кб
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
5
6// good-no-diagnostics
7
8extern _Noreturn void exit(int); /* compat-warning {{'_Noreturn' is incompatible with C standards before C11}}9ext-warning {{'_Noreturn' is a C11 extension}}
10*/
11
12void func(void) {13static _Thread_local int tl; /* compat-warning {{'_Thread_local' is incompatible with C standards before C11}}14ext-warning {{'_Thread_local' is a C11 extension}}
15*/
16_Alignas(8) char c; /* compat-warning {{'_Alignas' is incompatible with C standards before C11}}17ext-warning {{'_Alignas' is a C11 extension}}
18*/
19_Atomic int i1; /* compat-warning {{'_Atomic' is incompatible with C standards before C11}}20ext-warning {{'_Atomic' is a C11 extension}}
21*/
22_Atomic(int) i2; /* compat-warning {{'_Atomic' is incompatible with C standards before C11}}23ext-warning {{'_Atomic' is a C11 extension}}
24*/
25
26_Static_assert(1, ""); /* compat-warning {{'_Static_assert' is incompatible with C standards before C11}}27ext-warning {{'_Static_assert' is a C11 extension}}
28*/
29
30(void)_Generic(1, int : 1); /* compat-warning {{'_Generic' is incompatible with C standards before C11}}31ext-warning {{'_Generic' is a C11 extension}}
32*/
33(void)_Alignof(int); /* compat-warning {{'_Alignof' is incompatible with C standards before C11}}34ext-warning {{'_Alignof' is a C11 extension}}
35*/
36}
37
38