diff options
Diffstat (limited to 'gcc/cpptrad.c')
-rw-r--r-- | gcc/cpptrad.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/cpptrad.c b/gcc/cpptrad.c index 51b0bfc..902ae49 100644 --- a/gcc/cpptrad.c +++ b/gcc/cpptrad.c @@ -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 |