1 // PR c++/70229 2 // { dg-do compile { target c++11 } } 3 4 template <class> 5 class S { S(void)6 constexpr S (void) { 7 typedef int T; 8 } 9 }; 10 11 template <class> 12 class S2 { S2(void)13 constexpr S2 (void) { 14 ; 15 } 16 }; 17 18 template <class> 19 class S3 { S3(void)20 constexpr S3 (void) { 21 typedef enum { X } E; 22 } // { dg-error "does not have empty body" "" { target c++11_only } } 23 }; 24 25 template <class> 26 class S4 { S4(void)27 constexpr S4 (void) { 28 typedef struct { int j; } U; 29 } // { dg-error "does not have empty body" "" { target c++11_only } } 30 }; 31 32 struct V 33 { 34 int i; 35 }; 36 37 template <class> 38 class S5 { S5(void)39 constexpr S5 (void) { 40 typedef V W; 41 } 42 }; 43