summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-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;