| // { dg-do compile { target init_priority } } |
| // { dg-require-effective-target c++11 } |
| |
| struct t { t(); }; |
| |
| constexpr int prio = 123; |
| constexpr int size = 8; |
| constexpr int pos = 1; |
| enum A { zero = 0, one, two }; |
| __attribute__((init_priority(prio))) t a; |
| |
| enum class E1 : int { |
| first = 101, |
| second, |
| third, |
| }; |
| __attribute__((init_priority(E1::second))) t b; // Should not compile? |
| |
| enum E2 { |
| E2_first = 141, |
| E2_second, |
| E2_third, |
| }; |
| __attribute__((init_priority(E2_second))) t c; |
| |
| void* my_calloc(unsigned, unsigned) __attribute__((alloc_size(pos,two))); |
| void* my_realloc(void*, unsigned) __attribute__((alloc_size(two))); |
| |
| typedef char vec __attribute__((vector_size(size))); |
| |
| void f(char*) __attribute__((nonnull(pos))); |
| |
| char g __attribute__((aligned(size))); |