1e36bca6f2abd868b9ae68ff1c0d691de7520ca8cArgyrios Kyrtzidis// RUN: %clang_cc1 -fsyntax-only -verify %s 2e36bca6f2abd868b9ae68ff1c0d691de7520ca8cArgyrios Kyrtzidis 3e36bca6f2abd868b9ae68ff1c0d691de7520ca8cArgyrios Kyrtzidis// Don't crash. 4e36bca6f2abd868b9ae68ff1c0d691de7520ca8cArgyrios Kyrtzidis 5e36bca6f2abd868b9ae68ff1c0d691de7520ca8cArgyrios Kyrtzidistemplate<typename aT> 6e36bca6f2abd868b9ae68ff1c0d691de7520ca8cArgyrios Kyrtzidisstruct basic_string{ 7e36bca6f2abd868b9ae68ff1c0d691de7520ca8cArgyrios Kyrtzidis a; // expected-error {{requires a type specifier}} 8e36bca6f2abd868b9ae68ff1c0d691de7520ca8cArgyrios Kyrtzidis basic_string(aT*); 9e36bca6f2abd868b9ae68ff1c0d691de7520ca8cArgyrios Kyrtzidis}; 10e36bca6f2abd868b9ae68ff1c0d691de7520ca8cArgyrios Kyrtzidis 1106808f1b880f461c396450db4c6a9c6d6c6c2efcEli Friedmanstruct runtime_error{ 1206808f1b880f461c396450db4c6a9c6d6c6c2efcEli Friedman runtime_error( 13e36bca6f2abd868b9ae68ff1c0d691de7520ca8cArgyrios Kyrtzidisbasic_string<char> struct{ // expected-error {{cannot combine with previous 'type-name' declaration specifier}} 14e36bca6f2abd868b9ae68ff1c0d691de7520ca8cArgyrios Kyrtzidisa(){ // expected-error {{requires a type specifier}} 1506808f1b880f461c396450db4c6a9c6d6c6c2efcEli Friedman runtime_error(0); 16e36bca6f2abd868b9ae68ff1c0d691de7520ca8cArgyrios Kyrtzidis} 17e36bca6f2abd868b9ae68ff1c0d691de7520ca8cArgyrios Kyrtzidis} 18e36bca6f2abd868b9ae68ff1c0d691de7520ca8cArgyrios Kyrtzidis); 19e36bca6f2abd868b9ae68ff1c0d691de7520ca8cArgyrios Kyrtzidis}; 20