• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
2 
3 namespace attribute_aligned {
4   template<int N>
5   struct X {
6     char c[1] __attribute__((__aligned__((N)))); // expected-error {{alignment is not a power of 2}}
7   };
8 
9   template <bool X> struct check {
10     int check_failed[X ? 1 : -1]; // expected-error {{array with a negative size}}
11   };
12 
13   template <int N> struct check_alignment {
14     typedef check<N == sizeof(X<N>)> t; // expected-note {{in instantiation}}
15   };
16 
17   check_alignment<1>::t c1;
18   check_alignment<2>::t c2;
19   check_alignment<3>::t c3; // expected-note 2 {{in instantiation}}
20   check_alignment<4>::t c4;
21 }
22