closing rbrace is missing in an ObjC class declaration.
Can do beter than this, but it involves addition of
overhead which will be present in correct code.
// rdar://
6854840
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177435
91177308-0d34-0410-b5e6-
96231b3b80d8
def err_objc_concat_string : Error<"unexpected token after Objective-C string">;
def err_expected_objc_container : Error<
"'@end' must appear in an Objective-C context">;
+def err_objc_unexpected_atend : Error<
+ "'@end' appears where closing brace '}' is expected">;
def error_property_ivar_decl : Error<
"property synthesize requires specification of an ivar">;
def err_synthesized_property_name : Error<
visibility = Tok.getObjCKeywordID();
ConsumeToken();
continue;
+ case tok::objc_end:
+ Diag(Tok, diag::err_objc_unexpected_atend);
+ ConsumeToken();
+ continue;
default:
Diag(Tok, diag::err_objc_illegal_visibility_spec);
continue;
--- /dev/null
+// RUN: %clang_cc1 -fsyntax-only -verify %s
+// rdar: //6854840
+@interface A {@end // expected-error {{'@end' appears where closing brace '}' is expected}}\
+ // expected-note {{to match this '{'}}\
+ // expected-note {{class started here}}
+ // expected-error {{expected '}'}} expected-error {{missing '@end'}}