re PR preprocessor/11361 (ICE (segfault) in c-lex.c with one-liner)
authorPer Bothner <pbothner@apple.com>
Tue, 22 Jul 2003 23:11:34 +0000 (23:11 +0000)
committerPer Bothner <bothner@gcc.gnu.org>
Tue, 22 Jul 2003 23:11:34 +0000 (16:11 -0700)
* line-map.c (add_line_map):  Handle invalid LEAVE request.
Fixes PR preprocessor/11361.

From-SVN: r69688

gcc/ChangeLog
gcc/line-map.c

index 21263c2..5e84184 100644 (file)
@@ -1,5 +1,10 @@
 2003-07-22  Per Bothner  <pbothner@apple.com>
 
+       * line-map.c (add_line_map):  Handle invalid LEAVE request.
+       Fixes PR preprocessor/11361.
+
+2003-07-22  Per Bothner  <pbothner@apple.com>
+
        * diagnostic.c.(diagnostic_report_current_module):  Update to match
        2003-06-05 changes to push_srcloc and pop_srcloc.
 
index f3c2369..50c9c88 100644 (file)
@@ -96,9 +96,15 @@ linemap_add (struct line_maps *set, enum lc_reason reason,
 
       if (MAIN_FILE_P (map - 1))
        {
-         set->depth--;
-         set->used--;
-         return NULL;
+         if (to_file == NULL)
+           {
+             set->depth--;
+             set->used--;
+             return NULL;
+           }
+         error = true;
+          reason = LC_RENAME;
+          from = map - 1;
        }
       else
        {