Commit 9966b391 by Richard Kenner

(create_definition): Eliminate whitespace before and after macro

definitions.

From-SVN: r7568
parent 25212cdd
...@@ -5333,8 +5333,9 @@ create_definition (buf, limit, op) ...@@ -5333,8 +5333,9 @@ create_definition (buf, limit, op)
} }
++bp; /* skip paren */ ++bp; /* skip paren */
/* Skip exactly one space or tab if any. */ /* Skip spaces and tabs if any. */
if (bp < limit && (*bp == ' ' || *bp == '\t')) ++bp; while (bp < limit && (*bp == ' ' || *bp == '\t'))
++bp;
/* now everything from bp before limit is the definition. */ /* now everything from bp before limit is the definition. */
defn = collect_expansion (bp, limit, argno, arg_ptrs); defn = collect_expansion (bp, limit, argno, arg_ptrs);
defn->rest_args = rest_args; defn->rest_args = rest_args;
...@@ -5357,10 +5358,12 @@ create_definition (buf, limit, op) ...@@ -5357,10 +5358,12 @@ create_definition (buf, limit, op)
defn->args.argnames[i] = 0; defn->args.argnames[i] = 0;
} }
} else { } else {
/* simple expansion or empty definition; gobble it */ /* Simple expansion or empty definition. */
if (is_hor_space[*bp])
++bp; /* skip exactly one blank/tab char */ /* Skip spaces and tabs if any. */
/* now everything from bp before limit is the definition. */ 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 = collect_expansion (bp, limit, -1, NULL_PTR);
defn->args.argnames = (U_CHAR *) ""; defn->args.argnames = (U_CHAR *) "";
} }
...@@ -5818,20 +5821,6 @@ collect_expansion (buf, end, nargs, arglist) ...@@ -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'; *exp_p = '\0';
defn->length = exp_p - defn->expansion; defn->length = exp_p - defn->expansion;
......
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