summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-20 16:43:19 +0000
committerbothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-20 16:43:19 +0000
commite9f0d687a15f6a1864fdf1a3773486e376417233 (patch)
treebff4074818d1d2d8275592e02d37e804e47ed8c8 /gcc
parent161c884947463ee54737592356919db5ea887ea5 (diff)
downloadgcc-e9f0d687a15f6a1864fdf1a3773486e376417233.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64616 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/line-map.c8
-rw-r--r--gcc/toplev.c16
3 files changed, 24 insertions, 9 deletions
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 <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>
* 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