https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60893
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
/* 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 have to
assume they know why. */
if (generating_for_darwin_version < 9
&& OPTION_SET_P (flag_reorder_blocks_and_partition)
&& flag_reorder_blocks_and_partition
&& ((global_options.x_flag_exceptions /* User, c++, java */
&& !OPTION_SET_P (flag_exceptions)) /* User specified... */
|| (global_options.x_flag_unwind_tables
&& !OPTION_SET_P (flag_unwind_tables))
|| (global_options.x_flag_non_call_exceptions
&& !OPTION_SET_P (flag_non_call_exceptions))
|| (global_options.x_flag_asynchronous_unwind_tables
&& !OPTION_SET_P (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;
}