Add an error diagnostic to Parse::ParseObjCMessageExpression().

This now exposes the following bug...

******************** TEST 'Sema/message.m' FAILED! ********************
Command: 
 clang -fsyntax-only -verify Sema/message.m
Output:
Errors seen but not expected:
  Line 9: invalid receiver to message expression
******************** TEST 'Sema/message.m' FAILED! ********************

As far as I can tell, all messages to method agruments fail.

The method arguments are built by Sema::ObjcActOnStartOfMethodDef().

llvm-svn: 44022
This commit is contained in:
Steve Naroff 2007-11-12 19:18:37 +00:00
parent e33ba16368
commit cd002f5a0e
2 changed files with 3 additions and 0 deletions

View File

@ -1243,6 +1243,7 @@ Parser::ExprResult Parser::ParseObjCMessageExpression() {
} else {
ExprResult Res = ParseAssignmentExpression();
if (Res.isInvalid) {
Diag(Tok, diag::err_invalid_receiver_to_message);
SkipUntil(tok::identifier);
return Res;
}

View File

@ -322,6 +322,8 @@ DIAG(err_parse_error, ERROR,
"parse error")
DIAG(err_expected_expression, ERROR,
"expected expression")
DIAG(err_invalid_receiver_to_message, ERROR,
"invalid receiver to message expression")
DIAG(err_expected_external_declaration, ERROR,
"expected external declaration")
DIAG(err_expected_ident, ERROR,