https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82939

--- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> ---
So the following restores genmatch functionality for me with using GCC 4.2.3 as
host compiler

Index: libcpp/line-map.c
===================================================================
--- libcpp/line-map.c   (revision 257682)
+++ libcpp/line-map.c   (working copy)
@@ -344,7 +344,12 @@ void
 linemap_init (struct line_maps *set,
              source_location builtin_location)
 {
+#if __GNUC_MAJOR__ == 4 && __GNUC_MINOR__ == 2
+  /* PR33916.  */
+  memset (set, 0, sizeof (struct line_maps));
+#else
   *set = line_maps ();
+#endif
   set->highest_location = RESERVED_LOCATION_COUNT - 1;
   set->highest_line = RESERVED_LOCATION_COUNT - 1;
   set->location_adhoc_data_map.htab =

but we then hang in hash_table<hash_map<edge_def*, auto_vec<edge_var_map, 0ul>,
simple_hashmap_traits<default_hash_traits<edge_def*>, auto_vec<edge_var_map,
0ul> > >::hash_entry, xcallocator>::find_with_hash via
redirect_edge_var_map_clear when
doing libgcc configure tests...

Reply via email to