From e8111c8c64088b4efdf3e1a1a7818947fc2ae051 Mon Sep 17 00:00:00 2001
From: Kai Tietz <kitetz@redhat.com>
Date: Fri, 13 Dec 2013 09:24:16 +0000
Subject: [PATCH] re PR c++/57897 (Target x86_64-w64-mingw32 failed with
 '-mno-fentry isn't compatible with SEH')

       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.

From-SVN: r205957
---
 gcc/ChangeLog          | 7 +++++++
 gcc/config/i386/i386.c | 4 ++++
 2 files changed, 11 insertions(+)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 545eb766b76b..68261c688b65 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 8f7920995b06..b37025bf0164 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;
-- 
GitLab