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; }