1 // RUN: %clang_cc1 -verify -fsyntax-only %s 2 3 int x(*g); // expected-error {{use of undeclared identifier 'g'}} 4 5 struct Type { 6 int Type; 7 }; 8 9 // rdar://8365458 10 // rdar://9132143 11 typedef char bool; // expected-error {{redeclaration of C++ built-in type 'bool'}} 12 13 // PR4451 - We should recover well from the typo of '::' as ':' in a2. 14 namespace y { 15 struct a { }; 16 typedef int b; 17 } 18 19 y::a a1; 20 y:a a2; // expected-error {{unexpected ':' in nested name specifier}} 21 y::a a3 = a2; 22 23 // Some valid colons: foo()24void foo() { 25 y: // label 26 y::a s; 27 28 int a = 4; 29 a = a ? a : a+1; 30 } 31 32 struct b : y::a {}; 33 34 template <typename T> 35 class someclass { 36 bar()37 int bar() { 38 T *P; 39 return 1 ? P->x : P->y; 40 } 41 }; 42 43 class asm_class_test { 44 void foo() __asm__("baz"); 45 }; 46 47 enum { fooenum = 1 }; 48 49 struct a { 50 int Type : fooenum; 51 }; 52 test(struct Type * P)53void test(struct Type *P) { 54 int Type; 55 Type = 1 ? P->Type : Type; 56 57 Type = (y:b) 4; // expected-error {{unexpected ':' in nested name specifier}} 58 Type = 1 ? ( 59 (y:b) // expected-error {{unexpected ':' in nested name specifier}} 60 4) : 5; 61 } 62 63 struct test4 { 64 int x // expected-error {{expected ';' at end of declaration list}} 65 int y; 66 int z // expected-error {{expected ';' at end of declaration list}} 67 }; 68 69 // PR5825 70 struct test5 {}; 71 ::new(static_cast<void*>(0)) test5; // expected-error {{expected unqualified-id}} 72 73 74 // PR6782 75 template<class T> 76 class Class1; 77 78 class Class2 { 79 } // no ; 80 81 typedef Class1<Class2> Type1; // expected-error {{cannot combine with previous 'class' declaration specifier}} 82 83 // rdar : // 8307865 84 struct CodeCompleteConsumer { 85 }; 86 87 void CodeCompleteConsumer::() { // expected-error {{xpected unqualified-id}} 88 } 89 90 ; 91 92 // PR8380 93 extern "" // expected-error {{unknown linkage language}} 94 test6a { ;// expected-error {{C++ requires a type specifier for all declarations}} \ 95 // expected-error {{expected ';' after top level declarator}} 96 97 int test6b; 98 99 100