summaryrefslogtreecommitdiff
path: root/gcc/lto
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2019-09-18 11:28:20 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-09-18 11:28:20 +0000
commita3d09469041ab66ee1e12c2f3e4de33c4bf96732 (patch)
tree80d05780dc10b58f50e9e42a859ba010e37929be /gcc/lto
parent01b57ebf58b8cc0d16db827d1d9aa5f10da23cce (diff)
re PR lto/91763 (go.go-torture/execute/printnil.go FAILs)
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
Diffstat (limited to 'gcc/lto')
-rw-r--r--gcc/lto/ChangeLog6
-rw-r--r--gcc/lto/lto.c6
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog
index 4e68fbf2854..a73cbc4ca9f 100644
--- a/gcc/lto/ChangeLog
+++ b/gcc/lto/ChangeLog
@@ -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
diff --git a/gcc/lto/lto.c b/gcc/lto/lto.c
index 814f03a1777..af3590cdad8 100644
--- a/gcc/lto/lto.c
+++ b/gcc/lto/lto.c
@@ -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. */