aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2009-08-27 16:10:15 +0000
committerRichard Guenther <rguenther@suse.de>2009-08-27 16:10:15 +0000
commit179e0ffb15f1875aad7c27ef126d0e23dfa2e112 (patch)
tree64efb741e19b12528ef5399beb872ee1c4a3c83e
parente84f44220a6c768b2eb9f9384bb8abb50be999a7 (diff)
2009-08-27 Richard Guenther <rguenther@suse.de>
PR lto/41092 * lto-streamer-out.c (output_eh_regions): Always output a eh region if exceptions are enabled. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@151143 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog.lto6
-rw-r--r--gcc/lto-streamer-out.c7
2 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog.lto b/gcc/ChangeLog.lto
index dcfb6033edc..65b39ebcf14 100644
--- a/gcc/ChangeLog.lto
+++ b/gcc/ChangeLog.lto
@@ -1,3 +1,9 @@
+2009-08-27 Richard Guenther <rguenther@suse.de>
+
+ PR lto/41092
+ * lto-streamer-out.c (output_eh_regions): Always output a
+ eh region if exceptions are enabled.
+
2009-08-26 Richard Guenther <rguenther@suse.de>
* tree-data-ref.h: Revert changes.
diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c
index 3b7825b2189..54b7613ac6b 100644
--- a/gcc/lto-streamer-out.c
+++ b/gcc/lto-streamer-out.c
@@ -1596,7 +1596,12 @@ output_eh_regions (struct output_block *ob, struct function *fn)
{
eh_region curr;
- if (fn->eh && fn->eh->region_array)
+ if (fn->eh
+ /* Always output LTO_eh_table if exceptions are enabled. Otherwise
+ we miss to emit unwind informations for a translation unit
+ that just throws. */
+ && (flag_exceptions
+ || fn->eh->region_array))
{
unsigned i;