terminated with an EOF token. The condition it is trying to check for is
handled by this code above.
// Empty arguments are standard in C99 and supported as an extension in
// other modes.
if (ArgTokens.empty() && !Features.C99)
Diag(Tok, diag::ext_empty_fnmacro_arg);
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67705
91177308-0d34-0410-b5e6-
96231b3b80d8
// #define A(x, foo...) blah(a, ## foo)
// #define A(x, ...) blah(a, ## __VA_ARGS__)
isVarargsElided = MI->getNumArgs() > 1;
- } else if (MI->getNumArgs() == 1) {
- // #define A(x)
- // A()
- // is ok because it is an empty argument.
-
- // Empty arguments are standard in C99 and supported as an extension in
- // other modes.
- if (ArgTokens.empty() && !Features.C99)
- Diag(Tok, diag::ext_empty_fnmacro_arg);
} else {
// Otherwise, emit the error.
Diag(Tok, diag::err_too_few_args_in_macro_invoc);