David Tweed | a0d5878 | 2012-10-25 13:56:30 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -verify -std=c++11 %s |
Richard Smith | 994d73f | 2012-04-11 20:59:20 +0000 | [diff] [blame] | 2 | |
| 3 | 8gi///===--- recovery.cpp ---===// // expected-error {{unqualified-id}} |
| 4 | namespace Std { // expected-note {{here}} |
| 5 | typedef int Important; |
| 6 | } |
| 7 | |
| 8 | / redeclare as an inline namespace // expected-error {{unqualified-id}} |
| 9 | inline namespace Std { // expected-error {{cannot be reopened as inline}} |
| 10 | Important n; |
| 11 | } / end namespace Std // expected-error {{unqualified-id}} |
| 12 | int x; |
| 13 | Std::Important y; |
| 14 | |
Kaelyn Uhrain | 50dc12a | 2012-06-15 23:45:58 +0000 | [diff] [blame] | 15 | extenr "C" { // expected-error {{did you mean the keyword 'extern'}} |
Richard Smith | 994d73f | 2012-04-11 20:59:20 +0000 | [diff] [blame] | 16 | void f(); |
| 17 | } |
| 18 | void g() { |
| 19 | z = 1; // expected-error {{undeclared}} |
Kaelyn Uhrain | 50dc12a | 2012-06-15 23:45:58 +0000 | [diff] [blame] | 20 | f(); |
Richard Smith | 994d73f | 2012-04-11 20:59:20 +0000 | [diff] [blame] | 21 | } |
| 22 | |
| 23 | struct S { |
| 24 | int a, b, c; |
| 25 | S(); |
Richard Smith | 53aec2a | 2012-10-25 00:00:53 +0000 | [diff] [blame] | 26 | int x // expected-error {{expected ';'}} |
| 27 | friend void f() |
Richard Smith | 994d73f | 2012-04-11 20:59:20 +0000 | [diff] [blame] | 28 | }; |
| 29 | 8S::S() : a{ 5 }, b{ 6 }, c{ 2 } { // expected-error {{unqualified-id}} |
| 30 | return; |
| 31 | } |
| 32 | int k; |
Richard Smith | 53aec2a | 2012-10-25 00:00:53 +0000 | [diff] [blame] | 33 | int l = k // expected-error {{expected ';'}} |
| 34 | constexpr int foo(); |
Richard Smith | 994d73f | 2012-04-11 20:59:20 +0000 | [diff] [blame] | 35 | |
| 36 | 5int m = { l }, n = m; // expected-error {{unqualified-id}} |
| 37 | |
| 38 | namespace N { |
| 39 | int |
| 40 | } // expected-error {{unqualified-id}} |
| 41 | |
Kaelyn Uhrain | 50dc12a | 2012-06-15 23:45:58 +0000 | [diff] [blame] | 42 | strcut Uuuu { // expected-error {{did you mean the keyword 'struct'}} \ |
| 43 | // expected-note {{'Uuuu' declared here}} |
| 44 | } *u[3]; |
| 45 | uuuu v; // expected-error {{did you mean 'Uuuu'}} |
Richard Smith | 37ec8d5 | 2012-12-05 11:34:06 +0000 | [diff] [blame] | 46 | |
| 47 | struct Redefined { // expected-note {{previous}} |
| 48 | Redefined() {} |
| 49 | }; |
| 50 | struct Redefined { // expected-error {{redefinition}} |
| 51 | Redefined() {} |
| 52 | }; |