// RUN: %clang_cc1 %s -fsyntax-only -verify -DPR21815 // RUN: cp %s %t // RUN: not %clang_cc1 -x c++ -fixit %t // RUN: %clang_cc1 -x c++ %t struct S { static int a,b,c;}; int S::(a); // expected-error{{unexpected parenthesis after '::'}} int S::(b; // expected-error{{unexpected parenthesis after '::'}} int S::c; int S::(*d); // expected-error{{unexpected parenthesis after '::'}} int S::(*e; // expected-error{{unexpected parenthesis after '::'}} int S::*f; int g = S::(a); // expected-error{{unexpected parenthesis after '::'}} int h = S::(b; // expected-error{{unexpected parenthesis after '::'}} int i = S::c; void foo() { int a; a = ::(g); // expected-error{{unexpected parenthesis after '::'}} a = ::(h; // expected-error{{unexpected parenthesis after '::'}} a = ::i; } #ifdef PR21815 // expected-error@+4{{C++ requires a type specifier for all declarations}} // expected-error@+3{{expected unqualified-id}} // expected-error@+3{{expected expression}} // expected-error@+1{{expected ';' after top level declarator}} a (::( #endif