diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/cpp0x/constexpr-attribute2.C')
-rw-r--r-- | gcc-4.9/gcc/testsuite/g++.dg/cpp0x/constexpr-attribute2.C | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/constexpr-attribute2.C b/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/constexpr-attribute2.C new file mode 100644 index 000000000..c174cb3eb --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/constexpr-attribute2.C @@ -0,0 +1,33 @@ +// { 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))); |