Implement test/Preprocessor/macro_arg_keyword.c

llvm-svn: 39021
This commit is contained in:
Chris Lattner 2006-10-20 05:08:24 +00:00
parent 2bda2df3dc
commit 62aa0d4c9f
1 changed files with 8 additions and 4 deletions

View File

@ -1576,11 +1576,15 @@ bool Preprocessor::ReadMacroDefinitionArgList(MacroInfo *MI) {
case tok::eom: // #define X(
Diag(Tok, diag::err_pp_missing_rparen_in_macro_def);
return true;
default: // #define X(1
Diag(Tok, diag::err_pp_invalid_tok_in_arg_list);
return true;
case tok::identifier:
default:
// Handle keywords and identifiers here to accept things like
// #define Foo(for) for.
IdentifierInfo *II = Tok.getIdentifierInfo();
if (II == 0) {
// #define X(1
Diag(Tok, diag::err_pp_invalid_tok_in_arg_list);
return true;
}
// If this is already used as an argument, it is used multiple times (e.g.
// #define X(A,A.