re PR lto/91763 (go.go-torture/execute/printnil.go FAILs)
authorRichard Biener <rguenther@suse.de>
Wed, 18 Sep 2019 11:28:20 +0000 (11:28 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 18 Sep 2019 11:28:20 +0000 (11:28 +0000)
2019-09-18  Richard Biener  <rguenther@suse.de>

PR lto/91763
* lto-streamer-in.c (input_eh_regions): Move EH init to
lto_materialize_function.
* tree-streamer-in.c (lto_input_ts_function_decl_tree_pointers):
Likewise.

lto/
* lto.c (lto_materialize_function): Initialize EH by looking
at the function personality and flag_exceptions setting.

From-SVN: r275872

gcc/ChangeLog
gcc/lto-streamer-in.c
gcc/lto/ChangeLog
gcc/lto/lto.c
gcc/tree-streamer-in.c

index 57850818f2827ca15834b63b3132a8f209d01324..1907307c7622460dbb760eb816e710fea71ca079 100644 (file)
@@ -1,3 +1,11 @@
+2019-09-18  Richard Biener  <rguenther@suse.de>
+
+       PR lto/91763
+       * lto-streamer-in.c (input_eh_regions): Move EH init to
+       lto_materialize_function.
+       * tree-streamer-in.c (lto_input_ts_function_decl_tree_pointers):
+       Likewise.
+
 2019-09-18  Richard Sandiford  <richard.sandiford@arm.com>
 
        * tree-ssa-ccp.c (get_value_for_expr): Check whether CONSTANTs
index 3158edd4c5f337f6664f02bc918b5bd5e308b0f8..32b5d5fa50cab4bf0b53b228e11358e7ba576f29 100644 (file)
@@ -615,11 +615,6 @@ input_eh_regions (class lto_input_block *ib, class data_in *data_in,
 
   lto_tag_check_range (tag, LTO_eh_table, LTO_eh_table);
 
-  /* If the file contains EH regions, then it was compiled with
-     -fexceptions.  In that case, initialize the backend EH
-     machinery.  */
-  lto_init_eh ();
-
   gcc_assert (fn->eh);
 
   root_region = streamer_read_hwi (ib);
index 4e68fbf28548afc1fa46cabbeb464d7ed7487b0c..a73cbc4ca9f0a5ffe229c11f7581b0024849dcfe 100644 (file)
@@ -1,3 +1,9 @@
+2019-09-18  Richard Biener  <rguenther@suse.de>
+
+       PR lto/91763
+       * lto.c (lto_materialize_function): Initialize EH by looking
+       at the function personality and flag_exceptions setting.
+
 2019-08-23  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/91283
index 814f03a1777a456d44ffe2ae64e1e6af556ee6c2..af3590cdad83e00eee1b06e29788d68ff15443a0 100644 (file)
@@ -107,6 +107,12 @@ lto_materialize_function (struct cgraph_node *node)
        return;
       if (DECL_FUNCTION_PERSONALITY (decl) && !first_personality_decl)
        first_personality_decl = DECL_FUNCTION_PERSONALITY (decl);
+      /* If the file contains a function with a language specific EH
+        personality set or with EH enabled initialize the backend EH
+        machinery.  */
+      if (DECL_FUNCTION_PERSONALITY (decl)
+         || opt_for_fn (decl, flag_exceptions))
+       lto_init_eh ();
     }
 
   /* Let the middle end know about the function.  */
index dcd511e4b55fbe7bf6fa25efd4aa18646d16a740..5152d10956b7ce9dbadc46ec661d198e5e61ef91 100644 (file)
@@ -802,12 +802,6 @@ lto_input_ts_function_decl_tree_pointers (class lto_input_block *ib,
       }
   }
 #endif
-
-  /* If the file contains a function with an EH personality set,
-     then it was compiled with -fexceptions.  In that case, initialize
-     the backend EH machinery.  */
-  if (DECL_FUNCTION_PERSONALITY (expr))
-    lto_init_eh ();
 }