cpplex.c (_cpp_lex_line): Maintain PREV_WHITESPACE flag when removing escaped newlines.

* cpplex.c (_cpp_lex_line): Maintain PREV_WHITESPACE flag
        when removing escaped newlines.  Reverse sense of test for
        escaped newline.

From-SVN: r33816
This commit is contained in:
Neil Booth 2000-05-10 09:11:06 +00:00 committed by Neil Booth
parent 62c3ad8bb2
commit fb4527c354
2 changed files with 28 additions and 21 deletions

View File

@ -1,3 +1,9 @@
Wed 10 May 09:08:30 2000 Neil Booth <NeilB@earthling.net>
* cpplex.c (_cpp_lex_line): Maintain PREV_WHITESPACE flag
when removing escaped newlines. Reverse sense of test for
escaped newline.
2000-05-09 Richard Henderson <rth@cygnus.com>
* flow.c (find_basic_blocks_1): Do not delete the first

View File

@ -3010,30 +3010,31 @@ _cpp_lex_line (pfile, list)
case '\n':
case '\r':
handle_newline (cur, buffer->rlimit, c);
if (PREV_TOKEN_TYPE != CPP_BACKSLASH || !IMMED_TOKEN ())
{
if (PREV_TOKEN_TYPE == CPP_BACKSLASH)
{
buffer->cur = cur;
cpp_warning (pfile,
"backslash and newline separated by space");
}
PUSH_TOKEN (CPP_VSPACE);
goto out;
}
/* Remove the escaped newline. Then continue to process
any interrupted name or number. */
cur_token--;
if (IMMED_TOKEN ())
if (PREV_TOKEN_TYPE == CPP_BACKSLASH && IMMED_TOKEN ())
{
/* Remove the escaped newline. Then continue to process
any interrupted name or number. */
cur_token--;
if (cur_token->type == CPP_NAME)
goto continue_name;
else if (cur_token->type == CPP_NUMBER)
goto continue_number;
cur_token++;
if (IMMED_TOKEN ())
{
cur_token--;
if (cur_token->type == CPP_NAME)
goto continue_name;
else if (cur_token->type == CPP_NUMBER)
goto continue_number;
cur_token++;
}
/* Remember whitespace setting. */
flags = cur_token->flags;
break;
}
break;
if (PREV_TOKEN_TYPE == CPP_BACKSLASH)
{
buffer->cur = cur;
cpp_warning (pfile, "backslash and newline separated by space");
}
PUSH_TOKEN (CPP_VSPACE);
goto out;
case '-':
if (IMMED_TOKEN () && PREV_TOKEN_TYPE == CPP_MINUS)