OSDN Git Service

2009-10-21 Jack Howarth <howarth@bromo.med.uc.edu>
authorpogma <pogma@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Oct 2009 15:07:59 +0000 (15:07 +0000)
committerpogma <pogma@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 21 Oct 2009 15:07:59 +0000 (15:07 +0000)
PR c++/41313
* gcc/config/darwin10.h: Use default_emit_unwind_label.
* gcc/config/darwin.c: Disable -freorder-blocks-and-partition
when darwin_emit_unwind_label is used.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153057 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/darwin.c
gcc/config/darwin10.h

index 4b96a2f..4b54c31 100644 (file)
@@ -1,3 +1,10 @@
+2009-10-21  Jack Howarth  <howarth@bromo.med.uc.edu>
+
+       PR c++/41313
+       * gcc/config/darwin10.h: Use default_emit_unwind_label.
+       * gcc/config/darwin.c: Disable -freorder-blocks-and-partition
+       when darwin_emit_unwind_label is used.
+
 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
 
        * tree-vect-stmts.c (exist_non_indexing_operands_for_use_p): Tweak
index a8933e6..b5c4fb8 100644 (file)
@@ -1697,6 +1697,17 @@ darwin_override_options (void)
   if (dwarf_strict < 0) 
     dwarf_strict = 1;
 
+  /* Disable -freorder-blocks-and-partition for darwin_emit_unwind_label.  */
+  if (flag_reorder_blocks_and_partition 
+      && (targetm.asm_out.unwind_label == darwin_emit_unwind_label))
+    {
+      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)
     {
       /* -mkernel implies -fapple-kext for C++ */
index 65ba263..b1edf36 100644 (file)
@@ -23,3 +23,8 @@ unwinder in libSystem is fixed to digest new epilog unwinding notes. */
 
 #undef LIB_SPEC
 #define LIB_SPEC "%{!static:-no_compact_unwind -lSystem}"
+
+/* Unwind labels are no longer required in darwin10.  */
+
+#undef TARGET_ASM_EMIT_UNWIND_LABEL
+#define TARGET_ASM_EMIT_UNWIND_LABEL default_emit_unwind_label