From: Jim Wilson Date: Tue, 29 Nov 1994 00:53:27 +0000 (-0800) Subject: (create_definition): Error if comma not followed by an identifier. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=94d681a0a7915475bff8953cc5e5abb182f2022a;p=gcc.git (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 --- diff --git a/gcc/cccp.c b/gcc/cccp.c index 58a82363c2b..3e6379a32d0 100644 --- a/gcc/cccp.c +++ b/gcc/cccp.c @@ -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;