Commit 94d681a0 by Jim Wilson

(create_definition): Error if comma not followed by an identifier.

(create_definition): Error if comma not followed by an
identifier.
(collect_expansion): Error if # used in macro with no arguments.

From-SVN: r8567
parent dc93cff0
......@@ -5375,6 +5375,11 @@ create_definition (buf, limit, op)
if (*bp == ',') {
bp++;
SKIP_WHITE_SPACE (bp);
/* A comma at this point can only be followed by an identifier. */
if (!is_idstart[*bp]) {
error ("badly punctuated parameter list in `#define'");
goto nope;
}
}
if (bp >= limit) {
error ("unterminated parameter list in `#define'");
......@@ -5776,7 +5781,7 @@ collect_expansion (buf, end, nargs, arglist)
Don't leave the # in the expansion. */
exp_p--;
SKIP_WHITE_SPACE (p);
if (p == limit || ! is_idstart[*p])
if (p == limit || ! is_idstart[*p] || nargs == 0)
error ("`#' operator is not followed by a macro argument name");
else
stringify = p;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment