cccp.c (handle_directive): Handle backslash-newlines in quoted strings correctly.
* cccp.c (handle_directive): Handle backslash-newlines in quoted strings correctly. From-SVN: r27279
This commit is contained in:
parent
305423e8d8
commit
2f0a2a5b4a
@ -1,3 +1,8 @@
|
||||
Mon May 31 11:48:07 1999 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* cccp.c (handle_directive): Handle backslash-newlines in quoted
|
||||
strings correctly.
|
||||
|
||||
Mon May 31 09:36:11 1999 Cort Dougan <cort@cs.nmt.edu>
|
||||
|
||||
* rs6000/linux.h (LINK_SPEC): Use emulation elf32ppclinux.
|
||||
|
28
gcc/cccp.c
28
gcc/cccp.c
@ -3981,11 +3981,33 @@ handle_directive (ip, op)
|
||||
case '\'':
|
||||
case '\"':
|
||||
{
|
||||
int backslash_newlines_p;
|
||||
|
||||
register U_CHAR *bp1
|
||||
= skip_quoted_string (xp - 1, bp, ip->lineno,
|
||||
NULL_PTR, NULL_PTR, NULL_PTR);
|
||||
while (xp != bp1)
|
||||
*cp++ = *xp++;
|
||||
NULL_PTR, &backslash_newlines_p,
|
||||
NULL_PTR);
|
||||
if (backslash_newlines_p)
|
||||
while (xp != bp1)
|
||||
{
|
||||
/* With something like:
|
||||
|
||||
#define X "a\
|
||||
b"
|
||||
|
||||
we should still remove the backslash-newline
|
||||
pair as part of phase two. */
|
||||
if (xp[0] == '\\' && xp[1] == '\n')
|
||||
xp += 2;
|
||||
else
|
||||
*cp++ = *xp++;
|
||||
}
|
||||
else
|
||||
/* This is the same as the loop above, but taking
|
||||
advantage of the fact that we know there are no
|
||||
backslash-newline pairs. */
|
||||
while (xp != bp1)
|
||||
*cp++ = *xp++;
|
||||
}
|
||||
break;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user