aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPer Bothner <pbothner@apple.com>2003-03-20 16:43:19 +0000
committerPer Bothner <bothner@gcc.gnu.org>2003-03-20 08:43:19 -0800
commit8826ff0fcd12a506e2e91df9e4cae05747b88f13 (patch)
treebff4074818d1d2d8275592e02d37e804e47ed8c8 /gcc
parent015c318662801cd61e48698362d3d11151fbfdfa (diff)
downloadgcc-8826ff0fcd12a506e2e91df9e4cae05747b88f13.zip
gcc-8826ff0fcd12a506e2e91df9e4cae05747b88f13.tar.gz
gcc-8826ff0fcd12a506e2e91df9e4cae05747b88f13.tar.bz2
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
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 d20b175..fe92cf9 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 ae26e76..442e314 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 e1b97a1..eadcb36 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