From fbcd3360678c348338fefdf6767dcdf376835e80 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Mon, 8 Aug 1994 19:41:47 -0400 Subject: [PATCH] (create_definition): Warn about `#define a@'... (create_definition): Warn about `#define a@', since a diagnostic is now required (see ISO TC1's addition to subclause 6.8). Also warn about `#define is-empty(x) (!x)'. From-SVN: r7877 --- gcc/cccp.c | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/gcc/cccp.c b/gcc/cccp.c index a35336d76104..c0678d01f2f8 100644 --- a/gcc/cccp.c +++ b/gcc/cccp.c @@ -5368,9 +5368,31 @@ create_definition (buf, limit, op) } else { /* Simple expansion or empty definition. */ - /* Skip spaces and tabs if any. */ - while (bp < limit && (*bp == ' ' || *bp == '\t')) - ++bp; + if (bp < limit) + { + switch (*bp) + { + case '\t': case ' ': + /* Skip spaces and tabs. */ + while (++bp < limit && (*bp == ' ' || *bp == '\t')) + continue; + break; + + case '!': case '"': case '#': case '%': case '&': case '\'': + case ')': case '*': case '+': case ',': case '-': case '.': + case '/': case ':': case ';': case '<': case '=': case '>': + case '?': case '[': case '\\': case ']': case '^': case '{': + case '|': case '}': case '~': + warning ("missing white space after `#define %.*s'", + sym_length, symname); + break; + + default: + pedwarn ("missing white space after `#define %.*s'", + sym_length, symname); + break; + } + } /* Now everything from bp before limit is the definition. */ defn = collect_expansion (bp, limit, -1, NULL_PTR); defn->args.argnames = (U_CHAR *) ""; -- 2.43.5