Index: lto-opts.c =================================================================== --- lto-opts.c (revision 254560) +++ lto-opts.c (working copy) @@ -82,61 +82,10 @@ lto_write_options (void) && global_options.x_flag_exceptions) append_to_collect_gcc_options (&temporary_obstack, &first_p, "-fexceptions"); - /* -fnon-call-exceptions changes the generation of exception - regions. It is enabled implicitly by the Go frontend. */ - if (!global_options_set.x_flag_non_call_exceptions - && global_options.x_flag_non_call_exceptions) - append_to_collect_gcc_options (&temporary_obstack, &first_p, - "-fnon-call-exceptions"); - /* The default -ffp-contract changes depending on the language - standard. Pass thru conservative standard settings. */ - if (!global_options_set.x_flag_fp_contract_mode) - switch (global_options.x_flag_fp_contract_mode) - { - case FP_CONTRACT_OFF: - append_to_collect_gcc_options (&temporary_obstack, &first_p, - "-ffp-contract=off"); - break; - case FP_CONTRACT_ON: - append_to_collect_gcc_options (&temporary_obstack, &first_p, - "-ffp-contract=on"); - break; - case FP_CONTRACT_FAST: - /* Nothing. That merges conservatively and is the default for LTO. */ - break; - default: - gcc_unreachable (); - } - /* The default -fmath-errno, -fsigned-zeros and -ftrapping-math change - depending on the language (they can be disabled by the Ada front-end). - Pass thru conservative standard settings. */ - if (!global_options_set.x_flag_errno_math) - append_to_collect_gcc_options (&temporary_obstack, &first_p, - global_options.x_flag_errno_math - ? "-fmath-errno" - : "-fno-math-errno"); - if (!global_options_set.x_flag_signed_zeros) - append_to_collect_gcc_options (&temporary_obstack, &first_p, - global_options.x_flag_signed_zeros - ? "-fsigned-zeros" - : "-fno-signed-zeros"); - if (!global_options_set.x_flag_trapping_math) - append_to_collect_gcc_options (&temporary_obstack, &first_p, - global_options.x_flag_trapping_math - ? "-ftrapping-math" - : "-fno-trapping-math"); - /* We need to merge -f[no-]strict-overflow, -f[no-]wrapv and -f[no-]trapv - conservatively, so stream out their defaults. */ - if (!global_options_set.x_flag_wrapv - && global_options.x_flag_wrapv) - append_to_collect_gcc_options (&temporary_obstack, &first_p, "-fwrapv"); - if (!global_options_set.x_flag_trapv - && !global_options.x_flag_trapv) - append_to_collect_gcc_options (&temporary_obstack, &first_p, "-fno-trapv"); - if (!global_options_set.x_flag_openmp && !global_options.x_flag_openmp) - append_to_collect_gcc_options (&temporary_obstack, &first_p, "-fno-openmp"); + append_to_collect_gcc_options (&temporary_obstack, &first_p, + "-fno-openmp"); if (!global_options_set.x_flag_openacc && !global_options.x_flag_openacc) append_to_collect_gcc_options (&temporary_obstack, &first_p, Index: lto-wrapper.c =================================================================== --- lto-wrapper.c (revision 254560) +++ lto-wrapper.c (working copy) @@ -280,6 +280,7 @@ merge_and_complain (struct cl_decoded_op pie_option = foption; break; + case OPT_fexceptions: case OPT_fopenmp: case OPT_fopenacc: case OPT_fcilkplus: @@ -290,10 +291,11 @@ merge_and_complain (struct cl_decoded_op break; if (j == *decoded_options_count) append_option (decoded_options, decoded_options_count, foption); - /* -fopenmp > -fno-openmp, + /* -fexceptions -> -fno-exceptions + -fopenmp > -fno-openmp, -fopenacc > -fno-openacc, -fcilkplus > -fno-cilkplus, - -fcheck_pointer_bounds > -fcheck_pointer_bounds */ + -fcheck-pointer-bounds > -fno-check-pointer-bounds */ else if (foption->value > (*decoded_options)[j].value) (*decoded_options)[j] = *foption; break; @@ -546,6 +548,7 @@ append_compiler_options (obstack *argv_o case OPT_fpie: case OPT_fcommon: case OPT_fgnu_tm: + case OPT_fexceptions: case OPT_fopenmp: case OPT_fopenacc: case OPT_fopenacc_dim_: