aboutsummaryrefslogtreecommitdiff
path: root/gcc/cpptrad.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cpptrad.c')
-rw-r--r--gcc/cpptrad.c12
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;