[RFA jit] initialize input_location

Tom Tromey tromey@redhat.com
Thu Mar 20 15:07:00 GMT 2014


This patch initializes input_location at the same spot where the line
table is initialized.  Without this, it's possible to crash when
emitting a diagnostic in a reinvocation of the compiler, because
input_location refers to a location that is no longer valid.
---
 gcc/ChangeLog.jit | 4 ++++
 gcc/toplev.c      | 1 +
 2 files changed, 5 insertions(+)

diff --git a/gcc/ChangeLog.jit b/gcc/ChangeLog.jit
index ee1df88..a9b0817 100644
--- a/gcc/ChangeLog.jit
+++ b/gcc/ChangeLog.jit
@@ -1,5 +1,9 @@
 2014-03-19  Tom Tromey  <tromey@redhat.com>
 
+	* toplev.c (general_init): Initialize input_location.
+
+2014-03-19  Tom Tromey  <tromey@redhat.com>
+
 	* timevar.h (auto_timevar): New class.
 
 2014-03-19  Tom Tromey  <tromey@redhat.com>
diff --git a/gcc/toplev.c b/gcc/toplev.c
index b257ab2..1febc2e 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1161,6 +1161,7 @@ general_init (const char *argv0)
      table.  */
   init_ggc ();
   init_stringpool ();
+  input_location = 0;
   line_table = ggc_alloc_line_maps ();
   linemap_init (line_table);
   line_table->reallocator = realloc_for_line_map;
-- 
1.8.5.3



More information about the Gcc-patches mailing list