summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2010-11-09 20:38:00 +0000
committerFariborz Jahanian <fjahanian@apple.com>2010-11-09 20:38:00 +0000
commitdbee986290a2d5df5a92b7b54ce1abd1e4831fca (patch)
treede69e24c63f25d362bd709e4ea68852cc8383aba
parentc275aafbcefd9ccc22be7817b5ac9631a1658834 (diff)
downloadbcm5719-llvm-dbee986290a2d5df5a92b7b54ce1abd1e4831fca.tar.gz
bcm5719-llvm-dbee986290a2d5df5a92b7b54ce1abd1e4831fca.zip
Issues good diagnostic when @end is missing.
// rdar://8283484 llvm-svn: 118629
-rw-r--r--clang/lib/Parse/ParseObjc.cpp1
-rw-r--r--clang/test/Parser/missing-end-3.m10
2 files changed, 11 insertions, 0 deletions
diff --git a/clang/lib/Parse/ParseObjc.cpp b/clang/lib/Parse/ParseObjc.cpp
index a8f5e222dc8..3475602c957 100644
--- a/clang/lib/Parse/ParseObjc.cpp
+++ b/clang/lib/Parse/ParseObjc.cpp
@@ -404,6 +404,7 @@ void Parser::ParseObjCInterfaceDeclList(Decl *interfaceDecl,
break;
case tok::objc_implementation:
+ case tok::objc_interface:
Diag(Tok, diag::err_objc_missing_end);
ConsumeToken();
break;
diff --git a/clang/test/Parser/missing-end-3.m b/clang/test/Parser/missing-end-3.m
new file mode 100644
index 00000000000..3b226376dc5
--- /dev/null
+++ b/clang/test/Parser/missing-end-3.m
@@ -0,0 +1,10 @@
+// RUN: %clang_cc1 -fsyntax-only -verify %s
+// rdar://8283484
+@interface blah {
+ @private
+}
+// since I forgot the @end here it should say something
+
+@interface blah // expected-error {{missing @end}}
+@end // and Unknown type name 'end' here
+
OpenPOWER on IntegriCloud