mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-04 20:10:27 +08:00
re PR preprocessor/8497 (traditional preprocessor #if/#endif bug)
PR preprocessor/8497 PR preprocessor/8501 * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't start a directive. In assembler, #NUM is not a line directive. From-SVN: r58938
This commit is contained in:
parent
e6e8c77230
commit
a4b1e6535f
@ -1,3 +1,10 @@
|
||||
2002-11-08 Neil Booth <neil@daikokuya.co.uk>
|
||||
|
||||
PR preprocessor/8497
|
||||
PR preprocessor/8501
|
||||
* cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
|
||||
start a directive. In assembler, #NUM is not a line directive.
|
||||
|
||||
2002-11-08 Neil Booth <neil@daikokuya.co.uk>
|
||||
|
||||
* cppmain.c (cpp_preprocess_file): Loop to pop any -included
|
||||
|
@ -682,7 +682,10 @@ scan_out_logical_line (pfile, macro)
|
||||
break;
|
||||
|
||||
case '#':
|
||||
if (out - 1 == pfile->out.base && !pfile->state.in_directive)
|
||||
if (out - 1 == pfile->out.base
|
||||
/* A '#' from a macro doesn't start a directive. */
|
||||
&& !pfile->context->prev
|
||||
&& !pfile->state.in_directive)
|
||||
{
|
||||
/* A directive. With the way _cpp_handle_directive
|
||||
currently works, we only want to call it if either we
|
||||
@ -705,7 +708,8 @@ scan_out_logical_line (pfile, macro)
|
||||
{
|
||||
bool do_it = false;
|
||||
|
||||
if (is_numstart (*cur))
|
||||
if (is_numstart (*cur)
|
||||
&& CPP_OPTION (pfile, lang) != CLK_ASM)
|
||||
do_it = true;
|
||||
else if (is_idstart (*cur))
|
||||
/* Check whether we know this directive, but don't
|
||||
|
Loading…
Reference in New Issue
Block a user