1 // { dg-do compile { target c++11 } }
2 
3 // From N2235
4 
5 // 4.5.2 semantics
6 
7 // p 1 constexpr specifier
8 // objects, static const data
9 struct A1 { int i; };	   // { dg-message "no user-provided default constructor" }
10 
11 constexpr int i1 = 1024;
12 constexpr A1 a1 = A1();
13 
14 // error: not a definition
15 extern constexpr int i2; // { dg-error "definition" }
16 
17 // error: missing initializer
18 constexpr A1 a2; // { dg-error "uninitialized const" }
19 
20 const constexpr A1 a3 = A1();
21 
22 volatile constexpr A1 a4 = A1(); // { dg-bogus "both .volatile. and .constexpr. cannot" }
23 
24 // error: on type declaration
25 constexpr struct pixel // { dg-error "cannot be used for type declarations" }
26 {
27   int x;
28   int y;
29 };
30