38 lines · c
1// RUN: %clang_cc1 %s -std=c11 -fsyntax-only -verify=compat -Wpre-c11-compat2// RUN: %clang_cc1 %s -std=c99 -fsyntax-only -verify=ext -pedantic3// RUN: %clang_cc1 %s -std=c11 -fsyntax-only -verify=good4// RUN: %clang_cc1 -x c++ %s -fsyntax-only -verify=ext -pedantic5 6// good-no-diagnostics7 8extern _Noreturn void exit(int); /* compat-warning {{'_Noreturn' is incompatible with C standards before C11}}9 ext-warning {{'_Noreturn' is a C11 extension}}10 */11 12void 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}}15 */16 _Alignas(8) char c; /* compat-warning {{'_Alignas' is incompatible with C standards before C11}}17 ext-warning {{'_Alignas' is a C11 extension}}18 */19 _Atomic int i1; /* compat-warning {{'_Atomic' is incompatible with C standards before C11}}20 ext-warning {{'_Atomic' is a C11 extension}}21 */22 _Atomic(int) i2; /* compat-warning {{'_Atomic' is incompatible with C standards before C11}}23 ext-warning {{'_Atomic' is a C11 extension}}24 */25 26 _Static_assert(1, ""); /* compat-warning {{'_Static_assert' is incompatible with C standards before C11}}27 ext-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}}31 ext-warning {{'_Generic' is a C11 extension}}32 */33 (void)_Alignof(int); /* compat-warning {{'_Alignof' is incompatible with C standards before C11}}34 ext-warning {{'_Alignof' is a C11 extension}}35 */36}37 38