X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Ftoplev.c;h=6bf17368738ab379bbcb262213049a2f434f0646;hb=3b01567f28b62f8d753edb3a490064eeeabb5420;hp=766aa9917c325067f3a6f37435e1f3098054cb6c;hpb=3f3d5ad4c392c2cc915af2dd6b9b28efa4d53d00;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/toplev.c b/gcc/toplev.c index 766aa9917c3..6bf17368738 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -1325,11 +1325,21 @@ process_options (void) "and -ftree-loop-linear)"); #endif + if (flag_mudflap && flag_lto) + sorry ("mudflap cannot be used together with link-time optimization"); + /* One region RA really helps to decrease the code size. */ if (flag_ira_region == IRA_REGION_AUTODETECT) flag_ira_region = optimize_size || !optimize ? IRA_REGION_ONE : IRA_REGION_MIXED; + if (flag_strict_volatile_bitfields > 0 && !abi_version_at_least (2)) + { + warning (0, "-fstrict-volatile-bitfields disabled; " + "it is incompatible with ABI versions < 2"); + flag_strict_volatile_bitfields = 0; + } + /* Unrolling all loops implies that standard loop unrolling must also be done. */ if (flag_unroll_all_loops) @@ -1484,12 +1494,15 @@ process_options (void) /* If the user specifically requested variable tracking with tagging uninitialized variables, we need to turn on variable tracking. (We already determined above that variable tracking is feasible.) */ - if (flag_var_tracking_uninit) + if (flag_var_tracking_uninit == 1) flag_var_tracking = 1; if (flag_var_tracking == AUTODETECT_VALUE) flag_var_tracking = optimize >= 1; + if (flag_var_tracking_uninit == AUTODETECT_VALUE) + flag_var_tracking_uninit = flag_var_tracking; + if (flag_var_tracking_assignments == AUTODETECT_VALUE) flag_var_tracking_assignments = flag_var_tracking && !(flag_selective_scheduling || flag_selective_scheduling2); @@ -1592,18 +1605,6 @@ process_options (void) if (!flag_stack_protect) warn_stack_protect = 0; - /* ??? Unwind info is not correct around the CFG unless either a frame - pointer is present or A_O_A is set. Fixing this requires rewriting - unwind info generation to be aware of the CFG and propagating states - around edges. */ - if (flag_unwind_tables && !ACCUMULATE_OUTGOING_ARGS - && flag_omit_frame_pointer) - { - warning (0, "unwind tables currently require a frame pointer " - "for correctness"); - flag_omit_frame_pointer = 0; - } - /* Enable -Werror=coverage-mismatch when -Werror and -Wno-error have not been set. */ if (!global_options_set.x_warnings_are_errors