Commit 823a28aa by Richard Kenner

(rescan): Expand `#if foo && #bar' without a bogus complaint about preprocessor…

(rescan): Expand `#if foo && #bar' without a bogus complaint about preprocessor directives within macro args.

(rescan): Expand `#if foo && #bar' without a bogus complaint about preprocessor
directives within macro args.
Expand `foo' in `foo#bar' without requiring a space before `#'.

From-SVN: r10412
parent 75fbfd0c
...@@ -2770,6 +2770,8 @@ do { ip = &instack[indepth]; \ ...@@ -2770,6 +2770,8 @@ do { ip = &instack[indepth]; \
case '#': case '#':
if (assertions_flag) { if (assertions_flag) {
if (ident_length)
goto specialchar;
/* Copy #foo (bar lose) without macro expansion. */ /* Copy #foo (bar lose) without macro expansion. */
obp[-1] = '#'; /* In case it was '%'. */ obp[-1] = '#'; /* In case it was '%'. */
SKIP_WHITE_SPACE (ibp); SKIP_WHITE_SPACE (ibp);
...@@ -2783,6 +2785,7 @@ do { ip = &instack[indepth]; \ ...@@ -2783,6 +2785,7 @@ do { ip = &instack[indepth]; \
obp += ip->bufp - ibp; obp += ip->bufp - ibp;
ibp = ip->bufp; ibp = ip->bufp;
} }
break;
} }
/* If this is expanding a macro definition, don't recognize /* If this is expanding a macro definition, don't recognize
......
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