recovery.cpp revision 37ec8d589c5de34d0e260f0599395519bd7498de
1a0d5878b7e1c54551c0445354788e4259900c03cDavid Tweed// RUN: %clang_cc1 -verify -std=c++11 %s 2994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith 3994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith8gi///===--- recovery.cpp ---===// // expected-error {{unqualified-id}} 4994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smithnamespace Std { // expected-note {{here}} 5994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith typedef int Important; 6994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith} 7994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith 8994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith/ redeclare as an inline namespace // expected-error {{unqualified-id}} 9994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smithinline namespace Std { // expected-error {{cannot be reopened as inline}} 10994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith Important n; 11994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith} / end namespace Std // expected-error {{unqualified-id}} 12994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smithint x; 13994d73f8473cb2cd3ce2f69c9575c95015be788aRichard SmithStd::Important y; 14994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith 1550dc12ad05d4a3a57e83852756498afce4307a77Kaelyn Uhrainextenr "C" { // expected-error {{did you mean the keyword 'extern'}} 16994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith void f(); 17994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith} 18994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smithvoid g() { 19994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith z = 1; // expected-error {{undeclared}} 2050dc12ad05d4a3a57e83852756498afce4307a77Kaelyn Uhrain f(); 21994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith} 22994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith 23994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smithstruct S { 24994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith int a, b, c; 25994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith S(); 2653aec2a2770afc242c70fd88975cd0ea389087c0Richard Smith int x // expected-error {{expected ';'}} 2753aec2a2770afc242c70fd88975cd0ea389087c0Richard Smith friend void f() 28994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith}; 29994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith8S::S() : a{ 5 }, b{ 6 }, c{ 2 } { // expected-error {{unqualified-id}} 30994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith return; 31994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith} 32994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smithint k; 3353aec2a2770afc242c70fd88975cd0ea389087c0Richard Smithint l = k // expected-error {{expected ';'}} 3453aec2a2770afc242c70fd88975cd0ea389087c0Richard Smithconstexpr int foo(); 35994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith 36994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith5int m = { l }, n = m; // expected-error {{unqualified-id}} 37994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith 38994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smithnamespace N { 39994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith int 40994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith} // expected-error {{unqualified-id}} 41994d73f8473cb2cd3ce2f69c9575c95015be788aRichard Smith 4250dc12ad05d4a3a57e83852756498afce4307a77Kaelyn Uhrainstrcut Uuuu { // expected-error {{did you mean the keyword 'struct'}} \ 4350dc12ad05d4a3a57e83852756498afce4307a77Kaelyn Uhrain // expected-note {{'Uuuu' declared here}} 4450dc12ad05d4a3a57e83852756498afce4307a77Kaelyn Uhrain} *u[3]; 4550dc12ad05d4a3a57e83852756498afce4307a77Kaelyn Uhrainuuuu v; // expected-error {{did you mean 'Uuuu'}} 4637ec8d589c5de34d0e260f0599395519bd7498deRichard Smith 4737ec8d589c5de34d0e260f0599395519bd7498deRichard Smithstruct Redefined { // expected-note {{previous}} 4837ec8d589c5de34d0e260f0599395519bd7498deRichard Smith Redefined() {} 4937ec8d589c5de34d0e260f0599395519bd7498deRichard Smith}; 5037ec8d589c5de34d0e260f0599395519bd7498deRichard Smithstruct Redefined { // expected-error {{redefinition}} 5137ec8d589c5de34d0e260f0599395519bd7498deRichard Smith Redefined() {} 5237ec8d589c5de34d0e260f0599395519bd7498deRichard Smith}; 53