We were checking whether the flag had been set by the user, but not if it was set to true. Which means that the check fails in its intent when the user puts -fno-reorder-and-partition.
Tested on i686, powerpc and x86_64-darwin. Pushed to master, thanks Iain Signed-off-by: Iain Sandoe <i...@sandoe.co.uk> gcc/ChangeLog: * config/darwin.c (darwin_override_options): When checking for the flag-reorder-and-partition case, also check that it is set on. --- gcc/config/darwin.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c index 8ad5b26c980..e580319f761 100644 --- a/gcc/config/darwin.c +++ b/gcc/config/darwin.c @@ -3336,6 +3336,7 @@ darwin_override_options (void) (s)he knows 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 -- 2.24.3 (Apple Git-128)