23 lines · c
1// RUN: %clang_cc1 %s -verify -fsyntax-only2 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}}9 10// Make sure that we produce the same warnings on block declarations.11void 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}}18}19 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;23