diff --git a/gcc/cpplex.c b/gcc/cpplex.c index 6249fd7635c5..b7f6da5181b9 100644 --- a/gcc/cpplex.c +++ b/gcc/cpplex.c @@ -289,26 +289,25 @@ output_line_command (pfile, print, line) if (CPP_OPTION (pfile, no_line_commands)) return; - if (pfile->buffer_stack_depth == print->last_bsd) - { - /* Determine whether the current filename has changed, and if so, - how. 'nominal_fname' values are unique, so they can be compared - by comparing pointers. */ - if (ip->nominal_fname == print->last_fname) - change = same; - else - change = rname; - } + /* Determine whether the current filename has changed, and if so, + how. 'nominal_fname' values are unique, so they can be compared + by comparing pointers. */ + if (ip->nominal_fname == print->last_fname) + change = same; else { - if (pfile->buffer_stack_depth > print->last_bsd) - change = enter; + if (pfile->buffer_stack_depth == print->last_bsd) + change = rname; else - change = leave; - print->last_bsd = pfile->buffer_stack_depth; + { + if (pfile->buffer_stack_depth > print->last_bsd) + change = enter; + else + change = leave; + print->last_bsd = pfile->buffer_stack_depth; + } + print->last_fname = ip->nominal_fname; } - print->last_fname = ip->nominal_fname; - /* If the current file has not changed, we can output a few newlines instead if we want to increase the line number by a small amount. We cannot do this if print->lineno is zero, because that means we