aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Howarth <howarth@bromo.med.uc.edu>2009-10-21 15:07:59 +0000
committerPeter O'Gorman <pogma@thewrittenword.com>2009-10-21 15:07:59 +0000
commit32c24a1a131ae48d6e5ecbbe47354223455f1c87 (patch)
tree458b28857685ed2fd4c0116eb04950cda554dd69
parent71cd96acf606cb3af98c7f5f761cd6a37afeacd8 (diff)
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@153057 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/darwin.c11
-rw-r--r--gcc/config/darwin10.h5
3 files changed, 23 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4b96a2f00db..4b54c31c07b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
index a8933e66348..b5c4fb8e0d9 100644
--- a/gcc/config/darwin.c
+++ b/gcc/config/darwin.c
@@ -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++ */
diff --git a/gcc/config/darwin10.h b/gcc/config/darwin10.h
index 65ba2632a8f..b1edf36ce3d 100644
--- a/gcc/config/darwin10.h
+++ b/gcc/config/darwin10.h
@@ -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