diff options
Diffstat (limited to 'gcc/cpptrad.c')
-rw-r--r-- | gcc/cpptrad.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/cpptrad.c b/gcc/cpptrad.c index 7ae8819..9bcb915 100644 --- a/gcc/cpptrad.c +++ b/gcc/cpptrad.c @@ -698,8 +698,12 @@ scan_out_logical_line (pfile, macro) out = pfile->out.cur; if (is_vspace (*cur)) - /* Null directive ignored. */ - out = pfile->out.base; + { + /* Null directive. Ignore it and don't invalidate + the MI optimization. */ + out = pfile->out.base; + continue; + } else { bool do_it = false; @@ -733,6 +737,10 @@ scan_out_logical_line (pfile, macro) break; } + /* Non-whitespace disables MI optimization. */ + if (!pfile->state.in_directive) + pfile->mi_valid = false; + if (lex_state == ls_none) continue; |