Commit 8826ff0f by Per Bothner Committed by 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.

From-SVN: r64616
parent 015c3186
2003-03-20 Per Bothner <pbothner@apple.com>
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 <kazu at cs dot umass dot edu> 2003-03-20 Kazu Hirata <kazu at cs dot umass dot edu>
* fold-const.c (fold): Fold A - (A & B) into ~B & A. * fold-const.c (fold): Fold A - (A & B) into ~B & A.
......
...@@ -106,9 +106,9 @@ add_line_map (set, reason, sysp, from_line, to_file, to_line) ...@@ -106,9 +106,9 @@ add_line_map (set, reason, sysp, from_line, to_file, to_line)
if (MAIN_FILE_P (map - 1)) if (MAIN_FILE_P (map - 1))
{ {
error = true; set->depth--;
reason = LC_RENAME; set->used--;
from = map - 1; return NULL;
} }
else else
{ {
...@@ -139,8 +139,8 @@ add_line_map (set, reason, sysp, from_line, to_file, to_line) ...@@ -139,8 +139,8 @@ add_line_map (set, reason, sysp, from_line, to_file, to_line)
if (reason == LC_ENTER) if (reason == LC_ENTER)
{ {
map->included_from = set->depth == 0 ? -1 : (int) (set->used - 2);
set->depth++; set->depth++;
map->included_from = set->used - 2;
if (set->trace_includes) if (set->trace_includes)
trace_include (set, map); trace_include (set, map);
} }
......
...@@ -2166,11 +2166,17 @@ pop_srcloc () ...@@ -2166,11 +2166,17 @@ pop_srcloc ()
input_file_stack = fs->next; input_file_stack = fs->next;
free (fs); free (fs);
input_file_stack_tick++; input_file_stack_tick++;
/* The initial source file is never popped. */
if (!input_file_stack) if (input_file_stack)
abort (); {
input_filename = input_file_stack->name; input_filename = input_file_stack->name;
lineno = input_file_stack->line; lineno = input_file_stack->line;
}
else
{
input_filename = NULL;
lineno = 0;
}
} }
/* Compile an entire translation unit. Write a file of assembly /* Compile an entire translation unit. Write a file of assembly
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment