summaryrefslogtreecommitdiff
path: root/gcc/config/darwin.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/darwin.c')
-rw-r--r--gcc/config/darwin.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c
index 6805cf1264e..33a831f89dc 100644
--- a/gcc/config/darwin.c
+++ b/gcc/config/darwin.c
@@ -3007,6 +3007,18 @@ darwin_override_options (void)
flag_reorder_blocks = 1;
}
+ /* FIXME: flag_objc_sjlj_exceptions is no longer needed since there is only
+ one valid choice of exception scheme for each runtime. */
+ if (!global_options_set.x_flag_objc_sjlj_exceptions)
+ global_options.x_flag_objc_sjlj_exceptions =
+ flag_next_runtime && !TARGET_64BIT;
+
+ /* FIXME: and this could be eliminated then too. */
+ if (!global_options_set.x_flag_exceptions
+ && flag_objc_exceptions
+ && TARGET_64BIT)
+ flag_exceptions = 1;
+
if (flag_mkernel || flag_apple_kext)
{
/* -mkernel implies -fapple-kext for C++ */