diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-06-24 19:09:17 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-06-24 19:09:17 -0400 |
commit | 9966b3915fad5ca4e14abc347ec22c3b0a9e159a (patch) | |
tree | 282e9081f6ca963a42c4844c3c68a9066d9b28b9 /gcc | |
parent | 25212cdd8a3de4c7b21a04d638bb4cb8cea1fe9b (diff) | |
download | gcc-9966b3915fad5ca4e14abc347ec22c3b0a9e159a.zip gcc-9966b3915fad5ca4e14abc347ec22c3b0a9e159a.tar.gz gcc-9966b3915fad5ca4e14abc347ec22c3b0a9e159a.tar.bz2 |
(create_definition): Eliminate whitespace before and after macro
definitions.
From-SVN: r7568
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cccp.c | 29 |
1 files changed, 9 insertions, 20 deletions
@@ -5333,8 +5333,9 @@ create_definition (buf, limit, op) } ++bp; /* skip paren */ - /* Skip exactly one space or tab if any. */ - if (bp < limit && (*bp == ' ' || *bp == '\t')) ++bp; + /* Skip spaces and tabs if any. */ + while (bp < limit && (*bp == ' ' || *bp == '\t')) + ++bp; /* now everything from bp before limit is the definition. */ defn = collect_expansion (bp, limit, argno, arg_ptrs); defn->rest_args = rest_args; @@ -5357,10 +5358,12 @@ create_definition (buf, limit, op) defn->args.argnames[i] = 0; } } else { - /* simple expansion or empty definition; gobble it */ - if (is_hor_space[*bp]) - ++bp; /* skip exactly one blank/tab char */ - /* now everything from bp before limit is the definition. */ + /* Simple expansion or empty definition. */ + + /* Skip spaces and tabs if any. */ + while (bp < limit && (*bp == ' ' || *bp == '\t')) + ++bp; + /* Now everything from bp before limit is the definition. */ defn = collect_expansion (bp, limit, -1, NULL_PTR); defn->args.argnames = (U_CHAR *) ""; } @@ -5818,20 +5821,6 @@ collect_expansion (buf, end, nargs, arglist) } } - if (limit < end) { - /* Convert trailing whitespace to Newline-markers. */ - while (limit < end && is_space[*limit]) { - *exp_p++ = '\n'; - *exp_p++ = *limit++; - } - } else if (!traditional && expected_delimiter == 0) { - /* There is no trailing whitespace, so invent some in ANSI mode. - But not if "inside a string" (which in ANSI mode - happens only for -D option). */ - *exp_p++ = '\n'; - *exp_p++ = ' '; - } - *exp_p = '\0'; defn->length = exp_p - defn->expansion; |