[docs] Add LICENSE.txt to the root of the mono-repo
[llvm-project.git] / clang / test / Sema / attr-declspec-ignored.c
blob7e5cebf5f45c53386c36b5cac97de0cd730cbc53
1 // RUN: %clang_cc1 %s -verify -fsyntax-only
3 __attribute__((visibility("hidden"))) __attribute__((aligned)) struct A; // expected-warning{{attribute 'visibility' is ignored, place it after "struct" to apply attribute to type declaration}} \
4 // expected-warning{{attribute 'aligned' is ignored, place it after "struct" to apply attribute to type declaration}}
5 __attribute__((visibility("hidden"))) __attribute__((aligned)) union B; // expected-warning{{attribute 'visibility' is ignored, place it after "union" to apply attribute to type declaration}} \
6 // expected-warning{{attribute 'aligned' is ignored, place it after "union" to apply attribute to type declaration}}
7 __attribute__((visibility("hidden"))) __attribute__((aligned)) enum C {C}; // expected-warning{{attribute 'visibility' is ignored, place it after "enum" to apply attribute to type declaration}} \
8 // expected-warning{{attribute 'aligned' is ignored, place it after "enum" to apply attribute to type declaration}}
10 // Make sure that we produce the same warnings on block declarations.
11 void func() {
12 __attribute__((visibility("hidden"))) __attribute__((aligned)) struct A; // expected-warning{{attribute 'visibility' is ignored, place it after "struct" to apply attribute to type declaration}} \
13 // expected-warning{{attribute 'aligned' is ignored, place it after "struct" to apply attribute to type declaration}}
14 __attribute__((visibility("hidden"))) __attribute__((aligned)) union B; // expected-warning{{attribute 'visibility' is ignored, place it after "union" to apply attribute to type declaration}} \
15 // expected-warning{{attribute 'aligned' is ignored, place it after "union" to apply attribute to type declaration}}
16 __attribute__((visibility("hidden"))) __attribute__((aligned)) enum C {C}; // expected-warning{{attribute 'visibility' is ignored, place it after "enum" to apply attribute to type declaration}} \
17 // expected-warning{{attribute 'aligned' is ignored, place it after "enum" to apply attribute to type declaration}}
20 __attribute__((visibility("hidden"))) __attribute__((aligned)) struct D {} d;
21 __attribute__((visibility("hidden"))) __attribute__((aligned)) union E {} e;
22 __attribute__((visibility("hidden"))) __attribute__((aligned)) enum F {F} f;