From 9d53403cd24de4e43af117c256dabda6a8035ee7 Mon Sep 17 00:00:00 2001
From: Iain Sandoe <iains@gcc.gnu.org>
Date: Sat, 12 Feb 2011 10:50:37 +0000
Subject: [PATCH] darwin.c (darwin_override_options): Add a hunk missed from
 the commit of r168571.

gcc:
	* config/darwin.c (darwin_override_options): Add a hunk missed
	from the commit of r168571.  Trim comment line lengths and
	correct indents of the preceding block.

From-SVN: r170069
---
 gcc/ChangeLog       |  6 ++++++
 gcc/config/darwin.c | 25 ++++++++++++++++---------
 2 files changed, 22 insertions(+), 9 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 294ad1349f16..9c87513bf72d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
+
+	* config/darwin.c (darwin_override_options): Add a hunk missed
+	from the commit of r168571.  Trim comment line lengths and 
+	correct indents of the preceding block.
+
 2011-02-12  Iain Sandoe  <iains@gcc.gnu.org>
 
 	* gcc.c (driver_handle_option): Concatenate the argument to -F with
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
index 8ccf18c44267..c31aeed4c4e1 100644
--- a/gcc/config/darwin.c
+++ b/gcc/config/darwin.c
@@ -2580,22 +2580,29 @@ darwin_override_options (void)
       && !TARGET_64BIT)
     global_options.x_flag_asynchronous_unwind_tables = 0;
 
-   /* Disable -freorder-blocks-and-partition when unwind tables are being emitted
-      for Darwin < 10 (OSX 10.6).  
-      The strategy is, "Unless the User has specifically set/unset an unwind flag
-      we will switch off -freorder-blocks-and-partition when unwind tables will be
-      generated".  If the User specifically sets flags... we assume (s)he knows
-      why...  */
+   /* Disable -freorder-blocks-and-partition when unwind tables are being
+      emitted for Darwin < 9 (OSX 10.5).
+      The strategy is, "Unless the User has specifically set/unset an unwind
+      flag we will switch off -freorder-blocks-and-partition when unwind tables
+      will be generated".  If the User specifically sets flags... we assume
+      (s)he knows why...  */
    if (generating_for_darwin_version < 9
        && global_options_set.x_flag_reorder_blocks_and_partition
        && ((global_options.x_flag_exceptions 		/* User, c++, java */
 	    && !global_options_set.x_flag_exceptions) 	/* User specified... */
 	   || (global_options.x_flag_unwind_tables
-		&& !global_options_set.x_flag_unwind_tables)
+	       && !global_options_set.x_flag_unwind_tables)
 	   || (global_options.x_flag_non_call_exceptions
-		&& !global_options_set.x_flag_non_call_exceptions)
+	       && !global_options_set.x_flag_non_call_exceptions)
 	   || (global_options.x_flag_asynchronous_unwind_tables
-		&& !global_options_set.x_flag_asynchronous_unwind_tables)))
+	       && !global_options_set.x_flag_asynchronous_unwind_tables)))
+    {
+      inform (input_location,
+	      "-freorder-blocks-and-partition does not work with exceptions "
+	      "on this architecture");
+      flag_reorder_blocks_and_partition = 0;
+      flag_reorder_blocks = 1;
+    }
 
   if (flag_mkernel || flag_apple_kext)
     {
-- 
GitLab