diff options
Diffstat (limited to 'gcc/cpplex.c')
-rw-r--r-- | gcc/cpplex.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/gcc/cpplex.c b/gcc/cpplex.c index 66eb01ffecd..44fbe2c738e 100644 --- a/gcc/cpplex.c +++ b/gcc/cpplex.c @@ -891,7 +891,16 @@ continue_after_nul (pfile) buffer->saved_flags = BOL; if (CPP_OPTION (pfile, traditional)) - more = _cpp_read_logical_line_trad (pfile, true); + { + if (pfile->state.in_directive) + return false; + + _cpp_remove_overlay (pfile); + more = _cpp_read_logical_line_trad (pfile); + _cpp_overlay_buffer (pfile, pfile->out.base, + pfile->out.cur - pfile->out.base); + pfile->line = pfile->out.first_line; + } else { /* Stop parsing arguments with a CPP_EOF. When we finally come |