diff options
-rw-r--r-- | lib/Parse/ParseObjc.cpp | 11 | ||||
-rw-r--r-- | test/Parser/missing-closing-rbrace.m | 9 |
2 files changed, 7 insertions, 13 deletions
diff --git a/lib/Parse/ParseObjc.cpp b/lib/Parse/ParseObjc.cpp index badbee2b5b..e4a880e89a 100644 --- a/lib/Parse/ParseObjc.cpp +++ b/lib/Parse/ParseObjc.cpp @@ -1303,10 +1303,9 @@ void Parser::ParseObjCClassInstanceVariables(Decl *interfaceDecl, visibility = Tok.getObjCKeywordID(); ConsumeToken(); continue; - default: - Diag(Tok, (Tok.getObjCKeywordID() == tok::objc_end) ? - diag::err_objc_unexpected_atend : - diag::err_objc_illegal_visibility_spec); + + case tok::objc_end: + Diag(Tok, diag::err_objc_unexpected_atend); Tok.setLocation(Tok.getLocation().getLocWithOffset(-1)); Tok.setKind(tok::at); Tok.setLength(1); @@ -1314,6 +1313,10 @@ void Parser::ParseObjCClassInstanceVariables(Decl *interfaceDecl, HelperActionsForIvarDeclarations(interfaceDecl, atLoc, T, AllIvarDecls, true); return; + + default: + Diag(Tok, diag::err_objc_illegal_visibility_spec); + continue; } } diff --git a/test/Parser/missing-closing-rbrace.m b/test/Parser/missing-closing-rbrace.m index 89c1f18cda..d811421e48 100644 --- a/test/Parser/missing-closing-rbrace.m +++ b/test/Parser/missing-closing-rbrace.m @@ -1,12 +1,3 @@ // RUN: %clang_cc1 -fsyntax-only -verify %s // rdar: //6854840 @interface A {@end // expected-error {{'@end' appears where closing brace '}' is expected}} - - -@interface B { -@public - int ivar; -@protected - id pp; -@property (copy) id PROP; // expected-error {{illegal visibility specification}} -@end |