[cfe-commits] r112709 - in /cfe/trunk: lib/Parse/ParseStmt.cpp test/Sema/recover-goto.c test/SemaObjC/crash-label.m test/SemaObjC/method-no-context.m

Chris Lattner sabre at nondot.org
Wed Sep 1 08:49:26 PDT 2010


Author: lattner
Date: Wed Sep  1 10:49:26 2010
New Revision: 112709

URL: http://llvm.org/viewvc/llvm-project?rev=112709&view=rev
Log:
when emitting an error about a missing } in a compound statement, emit
a "to match this {" note, pointing out the opener.

Modified:
    cfe/trunk/lib/Parse/ParseStmt.cpp
    cfe/trunk/test/Sema/recover-goto.c
    cfe/trunk/test/SemaObjC/crash-label.m
    cfe/trunk/test/SemaObjC/method-no-context.m

Modified: cfe/trunk/lib/Parse/ParseStmt.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseStmt.cpp?rev=112709&r1=112708&r2=112709&view=diff
==============================================================================
--- cfe/trunk/lib/Parse/ParseStmt.cpp (original)
+++ cfe/trunk/lib/Parse/ParseStmt.cpp Wed Sep  1 10:49:26 2010
@@ -519,6 +519,7 @@
   // We broke out of the while loop because we found a '}' or EOF.
   if (Tok.isNot(tok::r_brace)) {
     Diag(Tok, diag::err_expected_rbrace);
+    Diag(LBraceLoc, diag::note_matching) << "{";
     return StmtError();
   }
 

Modified: cfe/trunk/test/Sema/recover-goto.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/recover-goto.c?rev=112709&r1=112708&r2=112709&view=diff
==============================================================================
--- cfe/trunk/test/Sema/recover-goto.c (original)
+++ cfe/trunk/test/Sema/recover-goto.c Wed Sep  1 10:49:26 2010
@@ -1,4 +1,5 @@
 // RUN: %clang_cc1 -fsyntax-only %s -verify
 
-void a() {goto A; // expected-error {{use of undeclared label}}
+void a() { // expected-note {{to match this '{'}}
+  goto A; // expected-error {{use of undeclared label}}
 // expected-error {{expected '}'}}

Modified: cfe/trunk/test/SemaObjC/crash-label.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/crash-label.m?rev=112709&r1=112708&r2=112709&view=diff
==============================================================================
--- cfe/trunk/test/SemaObjC/crash-label.m (original)
+++ cfe/trunk/test/SemaObjC/crash-label.m Wed Sep  1 10:49:26 2010
@@ -2,8 +2,9 @@
 
   - (NSDictionary*) _executeScript:(NSString *)source { // expected-error 2 {{expected a type}} \
 							// expected-error {{missing context for method declaration}} 
-                          Exit:  [nilArgs release]; // expected-error {{use of undeclared identifier}}
-                          }
-                                     - (NSDictionary *) _setupKernelStandardMode:(NSString *)source { // expected-error 2 {{expected a type}} \
-expected-error {{missing context for method declaration}}
-                           Exit:   if(_ciKernel && !success ) { // expected-error {{use of undeclared identifier}} // expected-error 2 {{expected}}
+Exit:  [nilArgs release]; // expected-error {{use of undeclared identifier}}
+}
+- (NSDictionary *) _setupKernelStandardMode:(NSString *)source { // expected-error 2 {{expected a type}} \
+expected-error {{missing context for method declaration}} \
+expected-note{{to match this '{'}}
+  Exit:   if(_ciKernel && !success ) { // expected-error {{use of undeclared identifier}} // expected-error 2 {{expected}} expected-note{{to match this '{'}}

Modified: cfe/trunk/test/SemaObjC/method-no-context.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaObjC/method-no-context.m?rev=112709&r1=112708&r2=112709&view=diff
==============================================================================
--- cfe/trunk/test/SemaObjC/method-no-context.m (original)
+++ cfe/trunk/test/SemaObjC/method-no-context.m Wed Sep  1 10:49:26 2010
@@ -1,4 +1,5 @@
 // RUN: %clang_cc1 -fsyntax-only -verify %s
 
-- im0 { int a; return 0; // expected-error{{missing context for method declaration}}
+- im0 { // expected-note{{to match this '{'}}  expected-error{{missing context for method declaration}}
+  int a; return 0;
 // expected-error{{expected '}'}}





More information about the cfe-commits mailing list