1 // RUN: %clang_cc1 %s -fsyntax-only -verify -std=c++11 2 3 // Test reproduces a pair of crashes that were caused by code attempting 4 // to materialize a default constructor's exception specifier. 5 6 template <class T> struct A { 7 static T tab[]; 8 9 const int M = UNDEFINED; // expected-error {{use of undeclared identifier}} 10 11 int main() 12 { 13 A<char> a; 14 15 return 0; 16 } 17 }; 18 19 template <class T> struct B { 20 static T tab[]; 21 22 // expected-error@+1 {{invalid application of 'sizeof' to an incomplete type}} 23 const int N = sizeof(B<char>::tab) / sizeof(char); 24 25 int main() 26 { 27 B<char> b; 28 29 return 0; 30 } 31 }; 32