Implement test/Preprocessor/macro_arg_keyword.c
llvm-svn: 39021
This commit is contained in:
parent
2bda2df3dc
commit
62aa0d4c9f
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue