From: Per Bothner Date: Thu, 20 Mar 2003 16:43:19 +0000 (+0000) Subject: Various cleanups to help compile server. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8826ff0fcd12a506e2e91df9e4cae05747b88f13;p=gcc.git Various cleanups to help compile server. * line-map.c (add_line_map): Allow leaving the outermost file. Allowing entering an outermost-file after the initial time. * toplev.c (pop_srcloc): Allow popping from initial file. From-SVN: r64616 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d20b1758a89..fe92cf9c872 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2003-03-20 Per Bothner + + Various cleanups to help compile server. + + * line-map.c (add_line_map): Allow leaving the outermost file. + Allowing entering an outermost-file after the initial time. + + * toplev.c (pop_srcloc): Allow popping from initial file. + 2003-03-20 Kazu Hirata * fold-const.c (fold): Fold A - (A & B) into ~B & A. diff --git a/gcc/line-map.c b/gcc/line-map.c index ae26e76a1ef..442e314d030 100644 --- a/gcc/line-map.c +++ b/gcc/line-map.c @@ -106,9 +106,9 @@ add_line_map (set, reason, sysp, from_line, to_file, to_line) if (MAIN_FILE_P (map - 1)) { - error = true; - reason = LC_RENAME; - from = map - 1; + set->depth--; + set->used--; + return NULL; } else { @@ -139,8 +139,8 @@ add_line_map (set, reason, sysp, from_line, to_file, to_line) if (reason == LC_ENTER) { + map->included_from = set->depth == 0 ? -1 : (int) (set->used - 2); set->depth++; - map->included_from = set->used - 2; if (set->trace_includes) trace_include (set, map); } diff --git a/gcc/toplev.c b/gcc/toplev.c index e1b97a104ff..eadcb36958f 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -2166,11 +2166,17 @@ pop_srcloc () input_file_stack = fs->next; free (fs); input_file_stack_tick++; - /* The initial source file is never popped. */ - if (!input_file_stack) - abort (); - input_filename = input_file_stack->name; - lineno = input_file_stack->line; + + if (input_file_stack) + { + input_filename = input_file_stack->name; + lineno = input_file_stack->line; + } + else + { + input_filename = NULL; + lineno = 0; + } } /* Compile an entire translation unit. Write a file of assembly