summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>2013-12-13 09:24:16 +0000
committerktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>2013-12-13 09:24:16 +0000
commit32931c109234d4b5d2355b4404240e82f1b3d4f0 (patch)
treeb074296889e479146e15d2fe66f176a6886d941d
parent5b82cf0163c05e149e314621944d7b331126eaab (diff)
downloadgcc-32931c109234d4b5d2355b4404240e82f1b3d4f0.tar.gz
PR c++/57897
* config/i386/i386.c (ix86_option_override_internal): Set for x64 target flag_unwind_tables, if flag_asynchronous_unwind_tables was explicit set. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205957 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/i386/i386.c4
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 545eb766b76..68261c688b6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2013-12-13 Kai Tietz <kitetz@redhat.com>
+
+ PR c++/57897
+ * config/i386/i386.c (ix86_option_override_internal): Set for
+ x64 target flag_unwind_tables, if flag_asynchronous_unwind_tables
+ was explicit set.
+
2013-12-12 Jeff Law <law@redhat.com>
* i386.md (simple LEA peephole2): Add missing mode to zero_extend
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 8f7920995b0..b37025bf016 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -3698,6 +3698,10 @@ ix86_option_override_internal (bool main_args_p,
{
if (opts->x_optimize >= 1 && !opts_set->x_flag_omit_frame_pointer)
opts->x_flag_omit_frame_pointer = !USE_X86_64_FRAME_POINTER;
+ if (opts->x_flag_asynchronous_unwind_tables
+ && !opts_set->x_flag_unwind_tables
+ && TARGET_64BIT_MS_ABI)
+ opts->x_flag_unwind_tables = 1;
if (opts->x_flag_asynchronous_unwind_tables == 2)
opts->x_flag_unwind_tables
= opts->x_flag_asynchronous_unwind_tables = 1;