Lines Matching refs:opts

37 static void set_Wstrict_aliasing (struct gcc_options *opts, int onoff);
53 set_struct_debug_option (struct gcc_options *opts, location_t loc, in set_struct_debug_option() argument
101 opts->x_debug_struct_ordinary[DINFO_USAGE_DFN] = files; in set_struct_debug_option()
102 opts->x_debug_struct_ordinary[DINFO_USAGE_DIR_USE] = files; in set_struct_debug_option()
103 opts->x_debug_struct_ordinary[DINFO_USAGE_IND_USE] = files; in set_struct_debug_option()
107 opts->x_debug_struct_generic[DINFO_USAGE_DFN] = files; in set_struct_debug_option()
108 opts->x_debug_struct_generic[DINFO_USAGE_DIR_USE] = files; in set_struct_debug_option()
109 opts->x_debug_struct_generic[DINFO_USAGE_IND_USE] = files; in set_struct_debug_option()
115 opts->x_debug_struct_ordinary[usage] = files; in set_struct_debug_option()
117 opts->x_debug_struct_generic[usage] = files; in set_struct_debug_option()
121 set_struct_debug_option (opts, loc, spec+1); in set_struct_debug_option()
130 if (opts->x_debug_struct_ordinary[DINFO_USAGE_DIR_USE] in set_struct_debug_option()
131 < opts->x_debug_struct_ordinary[DINFO_USAGE_IND_USE] in set_struct_debug_option()
132 || opts->x_debug_struct_generic[DINFO_USAGE_DIR_USE] in set_struct_debug_option()
133 < opts->x_debug_struct_generic[DINFO_USAGE_IND_USE]) in set_struct_debug_option()
193 const char *arg, struct gcc_options *opts,
196 static void set_fast_math_flags (struct gcc_options *opts, int set);
197 static void decode_d_option (const char *arg, struct gcc_options *opts,
199 static void set_unsafe_math_optimizations_flags (struct gcc_options *opts,
204 struct gcc_options *opts,
213 target_handle_option (struct gcc_options *opts, in target_handle_option() argument
223 return targetm_common.handle_option (opts, opts_set, decoded, loc); in target_handle_option()
282 init_options_struct (struct gcc_options *opts, struct gcc_options *opts_set) in init_options_struct() argument
288 *opts = global_options_init; in init_options_struct()
294 opts->x_flag_signed_char = DEFAULT_SIGNED_CHAR; in init_options_struct()
297 opts->x_flag_short_enums = 2; in init_options_struct()
301 opts->x_target_flags = targetm_common.default_target_flags; in init_options_struct()
304 opts->x_flag_unwind_tables = targetm_common.unwind_tables_default; in init_options_struct()
307 targetm_common.option_init_struct (opts); in init_options_struct()
316 maybe_default_option (struct gcc_options *opts, in maybe_default_option() argument
387 handle_generated_option (opts, opts_set, default_opt->opt_index, in maybe_default_option()
394 handle_generated_option (opts, opts_set, default_opt->opt_index, in maybe_default_option()
406 maybe_default_options (struct gcc_options *opts, in maybe_default_options() argument
418 maybe_default_option (opts, opts_set, &default_opts[i], in maybe_default_options()
562 default_options_optimization (struct gcc_options *opts, in default_options_optimization() argument
585 opts->x_optimize = 1; in default_options_optimization()
586 opts->x_optimize_size = 0; in default_options_optimization()
587 opts->x_optimize_fast = 0; in default_options_optimization()
588 opts->x_optimize_debug = 0; in default_options_optimization()
598 opts->x_optimize = optimize_val; in default_options_optimization()
599 if ((unsigned int) opts->x_optimize > 255) in default_options_optimization()
600 opts->x_optimize = 255; in default_options_optimization()
601 opts->x_optimize_size = 0; in default_options_optimization()
602 opts->x_optimize_fast = 0; in default_options_optimization()
603 opts->x_optimize_debug = 0; in default_options_optimization()
609 opts->x_optimize_size = 1; in default_options_optimization()
612 opts->x_optimize = 2; in default_options_optimization()
613 opts->x_optimize_fast = 0; in default_options_optimization()
614 opts->x_optimize_debug = 0; in default_options_optimization()
619 opts->x_optimize_size = 0; in default_options_optimization()
620 opts->x_optimize = 3; in default_options_optimization()
621 opts->x_optimize_fast = 1; in default_options_optimization()
622 opts->x_optimize_debug = 0; in default_options_optimization()
627 opts->x_optimize_size = 0; in default_options_optimization()
628 opts->x_optimize = 1; in default_options_optimization()
629 opts->x_optimize_fast = 0; in default_options_optimization()
630 opts->x_optimize_debug = 1; in default_options_optimization()
644 maybe_default_options (opts, opts_set, default_options_table, in default_options_optimization()
645 opts->x_optimize, opts->x_optimize_size, in default_options_optimization()
646 opts->x_optimize_fast, opts->x_optimize_debug, in default_options_optimization()
650 opt2 = (opts->x_optimize >= 2); in default_options_optimization()
653 SET_OPTION_IF_UNSET (opts, opts_set, flag_ipa_pta, true); in default_options_optimization()
657 SET_OPTION_IF_UNSET (opts, opts_set, param_max_fields_for_field_sensitive, in default_options_optimization()
660 if (opts->x_optimize_size) in default_options_optimization()
662 SET_OPTION_IF_UNSET (opts, opts_set, param_min_crossjump_insns, 1); in default_options_optimization()
666 if (opts->x_optimize_debug) in default_options_optimization()
667 SET_OPTION_IF_UNSET (opts, opts_set, param_max_combine_insns, 2); in default_options_optimization()
670 maybe_default_options (opts, opts_set, in default_options_optimization()
672 opts->x_optimize, opts->x_optimize_size, in default_options_optimization()
673 opts->x_optimize_fast, opts->x_optimize_debug, in default_options_optimization()
679 control_options_for_live_patching (struct gcc_options *opts, in control_options_for_live_patching() argument
689 if (opts_set->x_flag_ipa_cp_clone && opts->x_flag_ipa_cp_clone) in control_options_for_live_patching()
694 opts->x_flag_ipa_cp_clone = 0; in control_options_for_live_patching()
696 if (opts_set->x_flag_ipa_sra && opts->x_flag_ipa_sra) in control_options_for_live_patching()
701 opts->x_flag_ipa_sra = 0; in control_options_for_live_patching()
703 if (opts_set->x_flag_partial_inlining && opts->x_flag_partial_inlining) in control_options_for_live_patching()
708 opts->x_flag_partial_inlining = 0; in control_options_for_live_patching()
710 if (opts_set->x_flag_ipa_cp && opts->x_flag_ipa_cp) in control_options_for_live_patching()
715 opts->x_flag_ipa_cp = 0; in control_options_for_live_patching()
720 if (opts_set->x_flag_whole_program && opts->x_flag_whole_program) in control_options_for_live_patching()
725 opts->x_flag_whole_program = 0; in control_options_for_live_patching()
731 if (opts_set->x_flag_ipa_pta && opts->x_flag_ipa_pta) in control_options_for_live_patching()
736 opts->x_flag_ipa_pta = 0; in control_options_for_live_patching()
738 if (opts_set->x_flag_ipa_reference && opts->x_flag_ipa_reference) in control_options_for_live_patching()
743 opts->x_flag_ipa_reference = 0; in control_options_for_live_patching()
745 if (opts_set->x_flag_ipa_ra && opts->x_flag_ipa_ra) in control_options_for_live_patching()
750 opts->x_flag_ipa_ra = 0; in control_options_for_live_patching()
752 if (opts_set->x_flag_ipa_icf && opts->x_flag_ipa_icf) in control_options_for_live_patching()
757 opts->x_flag_ipa_icf = 0; in control_options_for_live_patching()
759 if (opts_set->x_flag_ipa_icf_functions && opts->x_flag_ipa_icf_functions) in control_options_for_live_patching()
764 opts->x_flag_ipa_icf_functions = 0; in control_options_for_live_patching()
766 if (opts_set->x_flag_ipa_icf_variables && opts->x_flag_ipa_icf_variables) in control_options_for_live_patching()
771 opts->x_flag_ipa_icf_variables = 0; in control_options_for_live_patching()
773 if (opts_set->x_flag_ipa_bit_cp && opts->x_flag_ipa_bit_cp) in control_options_for_live_patching()
778 opts->x_flag_ipa_bit_cp = 0; in control_options_for_live_patching()
780 if (opts_set->x_flag_ipa_vrp && opts->x_flag_ipa_vrp) in control_options_for_live_patching()
785 opts->x_flag_ipa_vrp = 0; in control_options_for_live_patching()
787 if (opts_set->x_flag_ipa_pure_const && opts->x_flag_ipa_pure_const) in control_options_for_live_patching()
792 opts->x_flag_ipa_pure_const = 0; in control_options_for_live_patching()
798 && opts->x_flag_ipa_reference_addressable) in control_options_for_live_patching()
803 opts->x_flag_ipa_reference_addressable = 0; in control_options_for_live_patching()
807 && opts->x_flag_ipa_stack_alignment) in control_options_for_live_patching()
812 opts->x_flag_ipa_stack_alignment = 0; in control_options_for_live_patching()
827 finish_options (struct gcc_options *opts, struct gcc_options *opts_set, in finish_options() argument
832 if (opts->x_dump_base_name in finish_options()
833 && ! opts->x_dump_base_name_prefixed) in finish_options()
835 const char *sep = opts->x_dump_base_name; in finish_options()
844 else if (opts->x_dump_dir_name) in finish_options()
846 opts->x_dump_base_name = opts_concat (opts->x_dump_dir_name, in finish_options()
847 opts->x_dump_base_name, NULL); in finish_options()
848 else if (opts->x_aux_base_name in finish_options()
849 && strcmp (opts->x_aux_base_name, HOST_BIT_BUCKET) != 0) in finish_options()
857 base_of_path (opts->x_aux_base_name, &aux_base); in finish_options()
858 if (opts->x_aux_base_name != aux_base) in finish_options()
860 int dir_len = aux_base - opts->x_aux_base_name; in finish_options()
863 strlen (opts->x_dump_base_name) + dir_len + 1); in finish_options()
866 memcpy (new_dump_base_name, opts->x_aux_base_name, dir_len); in finish_options()
868 strcpy (new_dump_base_name + dir_len, opts->x_dump_base_name); in finish_options()
869 opts->x_dump_base_name = new_dump_base_name; in finish_options()
874 opts->x_dump_base_name_prefixed = true; in finish_options()
879 if (!opts->x_flag_unit_at_a_time) in finish_options()
881 if (opts->x_flag_section_anchors && opts_set->x_flag_section_anchors) in finish_options()
884 opts->x_flag_section_anchors = 0; in finish_options()
885 if (opts->x_flag_toplevel_reorder == 1) in finish_options()
888 opts->x_flag_toplevel_reorder = 0; in finish_options()
896 if (opts->x_flag_self_test) in finish_options()
897 opts->x_flag_syntax_only = 1; in finish_options()
899 if (opts->x_flag_tm && opts->x_flag_non_call_exceptions) in finish_options()
905 if (!opts->x_optimize in finish_options()
906 && opts->x_flag_toplevel_reorder == 2 in finish_options()
907 && !(opts->x_flag_section_anchors && opts_set->x_flag_section_anchors)) in finish_options()
909 opts->x_flag_toplevel_reorder = 0; in finish_options()
910 opts->x_flag_section_anchors = 0; in finish_options()
912 if (!opts->x_flag_toplevel_reorder) in finish_options()
914 if (opts->x_flag_section_anchors && opts_set->x_flag_section_anchors) in finish_options()
917 opts->x_flag_section_anchors = 0; in finish_options()
920 if (!opts->x_flag_opts_finished) in finish_options()
924 if (opts->x_flag_pie == -1) in finish_options()
928 if (opts->x_flag_pic == -1) in finish_options()
929 opts->x_flag_pie = DEFAULT_FLAG_PIE; in finish_options()
931 opts->x_flag_pie = 0; in finish_options()
934 if (opts->x_flag_pie) in finish_options()
935 opts->x_flag_pic = opts->x_flag_pie; in finish_options()
936 else if (opts->x_flag_pic == -1) in finish_options()
937 opts->x_flag_pic = 0; in finish_options()
938 if (opts->x_flag_pic && !opts->x_flag_pie) in finish_options()
939 opts->x_flag_shlib = 1; in finish_options()
940 opts->x_flag_opts_finished = true; in finish_options()
945 if (opts->x_flag_stack_protect == -1) in finish_options()
946 opts->x_flag_stack_protect = DEFAULT_FLAG_SSP; in finish_options()
948 if (opts->x_optimize == 0) in finish_options()
952 opts->x_warn_inline = 0; in finish_options()
953 opts->x_flag_no_inline = 1; in finish_options()
962 ui_except = targetm_common.except_unwind_info (opts); in finish_options()
964 if (opts->x_flag_exceptions in finish_options()
965 && opts->x_flag_reorder_blocks_and_partition in finish_options()
972 opts->x_flag_reorder_blocks_and_partition = 0; in finish_options()
973 opts->x_flag_reorder_blocks = 1; in finish_options()
979 if (opts->x_flag_unwind_tables in finish_options()
981 && opts->x_flag_reorder_blocks_and_partition in finish_options()
988 opts->x_flag_reorder_blocks_and_partition = 0; in finish_options()
989 opts->x_flag_reorder_blocks = 1; in finish_options()
996 if (opts->x_flag_reorder_blocks_and_partition in finish_options()
998 || (opts->x_flag_unwind_tables in finish_options()
1006 opts->x_flag_reorder_blocks_and_partition = 0; in finish_options()
1007 opts->x_flag_reorder_blocks = 1; in finish_options()
1013 if (!opts->x_flag_sel_sched_pipelining) in finish_options()
1014 opts->x_flag_sel_sched_pipelining_outer_loops = 0; in finish_options()
1016 if (opts->x_flag_conserve_stack) in finish_options()
1018 SET_OPTION_IF_UNSET (opts, opts_set, param_large_stack_frame, 100); in finish_options()
1019 SET_OPTION_IF_UNSET (opts, opts_set, param_stack_frame_growth, 40); in finish_options()
1022 if (opts->x_flag_lto) in finish_options()
1025 opts->x_flag_generate_lto = 1; in finish_options()
1030 opts->x_flag_whole_program = 0; in finish_options()
1034 if (!opts->x_flag_fat_lto_objects in finish_options()
1037 && !opts->x_flag_use_linker_plugin))) in finish_options()
1042 opts->x_flag_fat_lto_objects = 1; in finish_options()
1046 if (opts->x_dwarf_split_debug_info) in finish_options()
1050 opts->x_dwarf_split_debug_info = 0; in finish_options()
1056 if (opts->x_flag_split_stack == -1) in finish_options()
1057 opts->x_flag_split_stack = 0; in finish_options()
1058 else if (opts->x_flag_split_stack) in finish_options()
1060 if (!targetm_common.supports_split_stack (true, opts)) in finish_options()
1064 opts->x_flag_split_stack = 0; in finish_options()
1073 if (opts->x_flag_split_stack in finish_options()
1074 && opts->x_flag_reorder_blocks_and_partition) in finish_options()
1075 SET_OPTION_IF_UNSET (opts, opts_set, flag_reorder_blocks_and_partition, 0); in finish_options()
1077 if (opts->x_flag_reorder_blocks_and_partition) in finish_options()
1078 SET_OPTION_IF_UNSET (opts, opts_set, flag_reorder_functions, 1); in finish_options()
1081 if (opts->x_dwarf_split_debug_info) in finish_options()
1082 opts->x_debug_generate_pub_sections = 2; in finish_options()
1084 if ((opts->x_flag_sanitize in finish_options()
1087 if (opts->x_flag_sanitize & SANITIZE_POINTER_COMPARE) in finish_options()
1091 if (opts->x_flag_sanitize & SANITIZE_POINTER_SUBTRACT) in finish_options()
1098 if ((opts->x_flag_sanitize & SANITIZE_USER_ADDRESS) in finish_options()
1099 && (opts->x_flag_sanitize & SANITIZE_KERNEL_ADDRESS)) in finish_options()
1105 if ((opts->x_flag_sanitize & SANITIZE_ADDRESS) in finish_options()
1106 && (opts->x_flag_sanitize & SANITIZE_THREAD)) in finish_options()
1111 if ((opts->x_flag_sanitize & SANITIZE_LEAK) in finish_options()
1112 && (opts->x_flag_sanitize & SANITIZE_THREAD)) in finish_options()
1118 if ((opts->x_flag_sanitize_recover & sanitizer_opts[i].flag) in finish_options()
1125 if (opts->x_flag_sanitize & (SANITIZE_NULL | SANITIZE_NONNULL_ATTRIBUTE in finish_options()
1127 opts->x_flag_delete_null_pointer_checks = 0; in finish_options()
1130 if (opts->x_flag_sanitize & ~(SANITIZE_LEAK | SANITIZE_UNREACHABLE)) in finish_options()
1131 opts->x_flag_aggressive_loop_optimizations = 0; in finish_options()
1135 if (opts->x_flag_sanitize & SANITIZE_USER_ADDRESS) in finish_options()
1136 SET_OPTION_IF_UNSET (opts, opts_set, flag_sanitize_address_use_after_scope, in finish_options()
1141 if (opts->x_flag_sanitize_address_use_after_scope) in finish_options()
1143 if (opts->x_flag_stack_reuse != SR_NONE in finish_options()
1149 opts->x_flag_stack_reuse = SR_NONE; in finish_options()
1152 if ((opts->x_flag_sanitize & SANITIZE_USER_ADDRESS) && opts->x_flag_tm) in finish_options()
1155 if ((opts->x_flag_sanitize & SANITIZE_KERNEL_ADDRESS) && opts->x_flag_tm) in finish_options()
1160 if (opts->x_flag_live_patching && opts->x_flag_lto) in finish_options()
1164 if (opts->x_flag_vtable_verify && opts->x_flag_lto) in finish_options()
1168 if (opts->x_flag_live_patching) in finish_options()
1169 control_options_for_live_patching (opts, opts_set, in finish_options()
1170 opts->x_flag_live_patching, in finish_options()
1175 if (opts->x_flag_unroll_all_loops) in finish_options()
1176 opts->x_flag_unroll_loops = 1; in finish_options()
1180 opts->x_flag_cunroll_grow_size in finish_options()
1181 = (opts->x_flag_unroll_loops in finish_options()
1182 || opts->x_flag_peel_loops in finish_options()
1183 || opts->x_optimize >= 3); in finish_options()
1257 struct gcc_options *opts, in print_filtered_help() argument
1266 if (!opts->x_help_printed) in print_filtered_help()
1267 opts->x_help_printed = XCNEWVAR (char, cl_options_count); in print_filtered_help()
1269 if (!opts->x_help_enum_printed) in print_filtered_help()
1270 opts->x_help_enum_printed = XCNEWVAR (char, cl_enums_count); in print_filtered_help()
1308 if (opts->x_help_printed[i]) in print_filtered_help()
1311 opts->x_help_printed[i] = true; in print_filtered_help()
1397 if (!opts->x_quiet_flag) in print_filtered_help()
1399 void *flag_var = option_flag_var (i, opts); in print_filtered_help()
1498 int ena = option_enabled (i, lang_mask, opts); in print_filtered_help()
1522 && opts->x_help_enum_printed[option->var_enum] != 2) in print_filtered_help()
1523 opts->x_help_enum_printed[option->var_enum] = 1; in print_filtered_help()
1565 if (opts->x_help_enum_printed[i] != 1) in print_filtered_help()
1592 opts->x_help_enum_printed[i] = 2; in print_filtered_help()
1615 struct gcc_options *opts, in print_specific_help() argument
1630 if (opts->x_help_columns == 0) in print_specific_help()
1632 opts->x_help_columns = get_terminal_width (); in print_specific_help()
1633 if (opts->x_help_columns == INT_MAX) in print_specific_help()
1635 opts->x_help_columns = 80; in print_specific_help()
1703 opts->x_help_columns, opts, lang_mask); in print_specific_help()
1709 enable_fdo_optimizations (struct gcc_options *opts, in enable_fdo_optimizations() argument
1713 SET_OPTION_IF_UNSET (opts, opts_set, flag_branch_probabilities, value); in enable_fdo_optimizations()
1714 SET_OPTION_IF_UNSET (opts, opts_set, flag_profile_values, value); in enable_fdo_optimizations()
1715 SET_OPTION_IF_UNSET (opts, opts_set, flag_unroll_loops, value); in enable_fdo_optimizations()
1716 SET_OPTION_IF_UNSET (opts, opts_set, flag_peel_loops, value); in enable_fdo_optimizations()
1717 SET_OPTION_IF_UNSET (opts, opts_set, flag_tracer, value); in enable_fdo_optimizations()
1718 SET_OPTION_IF_UNSET (opts, opts_set, flag_value_profile_transformations, in enable_fdo_optimizations()
1720 SET_OPTION_IF_UNSET (opts, opts_set, flag_inline_functions, value); in enable_fdo_optimizations()
1721 SET_OPTION_IF_UNSET (opts, opts_set, flag_ipa_cp, value); in enable_fdo_optimizations()
1724 SET_OPTION_IF_UNSET (opts, opts_set, flag_ipa_cp_clone, 1); in enable_fdo_optimizations()
1725 SET_OPTION_IF_UNSET (opts, opts_set, flag_ipa_bit_cp, 1); in enable_fdo_optimizations()
1727 SET_OPTION_IF_UNSET (opts, opts_set, flag_predictive_commoning, value); in enable_fdo_optimizations()
1728 SET_OPTION_IF_UNSET (opts, opts_set, flag_split_loops, value); in enable_fdo_optimizations()
1729 SET_OPTION_IF_UNSET (opts, opts_set, flag_unswitch_loops, value); in enable_fdo_optimizations()
1730 SET_OPTION_IF_UNSET (opts, opts_set, flag_gcse_after_reload, value); in enable_fdo_optimizations()
1731 SET_OPTION_IF_UNSET (opts, opts_set, flag_tree_loop_vectorize, value); in enable_fdo_optimizations()
1732 SET_OPTION_IF_UNSET (opts, opts_set, flag_tree_slp_vectorize, value); in enable_fdo_optimizations()
1733 SET_OPTION_IF_UNSET (opts, opts_set, flag_version_loops_for_strides, value); in enable_fdo_optimizations()
1734 SET_OPTION_IF_UNSET (opts, opts_set, flag_vect_cost_model, in enable_fdo_optimizations()
1736 SET_OPTION_IF_UNSET (opts, opts_set, flag_tree_loop_distribute_patterns, in enable_fdo_optimizations()
1738 SET_OPTION_IF_UNSET (opts, opts_set, flag_loop_interchange, value); in enable_fdo_optimizations()
1739 SET_OPTION_IF_UNSET (opts, opts_set, flag_unroll_jam, value); in enable_fdo_optimizations()
1740 SET_OPTION_IF_UNSET (opts, opts_set, flag_tree_loop_distribution, value); in enable_fdo_optimizations()
1834 const struct sanitizer_opts_s *opts,
1838 for (int i = 0; opts[i].name != NULL; ++i)
1842 && opts[i].flag == ~0U
1849 && !opts[i].can_recover
1853 bm.consider (opts[i].name);
1868 const struct sanitizer_opts_s *opts;
1870 opts = coverage_sanitizer_opts;
1872 opts = sanitizer_opts;
1891 for (i = 0; opts[i].name != NULL; ++i)
1892 if (len == opts[i].len && memcmp (p, opts[i].name, len) == 0)
1895 if (value && opts[i].flag == ~0U)
1912 && opts[i].flag == SANITIZE_UNDEFINED)
1916 flags |= opts[i].flag;
1919 flags &= ~opts[i].flag;
1928 opts, code, value);
2053 print_help (struct gcc_options *opts, unsigned int lang_mask,
2183 print_specific_help (include_flags, exclude_flags, 0, opts,
2193 common_handle_option (struct gcc_options *opts,
2220 undoc_mask = ((opts->x_verbose_flag | opts->x_extra_warnings)
2227 (1U << i, (all_langs_mask & (~ (1U << i))) | undoc_mask, 0, opts,
2230 print_specific_help (0, undoc_mask, all_langs_mask, opts, lang_mask);
2234 print_specific_help (i, undoc_mask, 0, opts, lang_mask);
2235 opts->x_exit_after_options = true;
2244 print_specific_help (CL_TARGET, CL_UNDOCUMENTED, 0, opts, lang_mask);
2245 opts->x_exit_after_options = true;
2251 opts->x_exit_after_options = true;
2259 opts->x_exit_after_options = true;
2266 opts->x_flag_sanitize
2268 opts->x_flag_sanitize, value, true);
2272 if (opts->x_flag_sanitize & SANITIZE_KERNEL_ADDRESS)
2274 SET_OPTION_IF_UNSET (opts, opts_set,
2277 SET_OPTION_IF_UNSET (opts, opts_set, param_asan_globals, 0);
2278 SET_OPTION_IF_UNSET (opts, opts_set, param_asan_stack, 0);
2279 SET_OPTION_IF_UNSET (opts, opts_set, param_asan_protect_allocas, 0);
2280 SET_OPTION_IF_UNSET (opts, opts_set, param_asan_use_after_return, 0);
2285 opts->x_flag_sanitize_recover
2287 opts->x_flag_sanitize_recover, value, true);
2295 opts->x_flag_sanitize_address_use_after_scope = value;
2300 opts->x_flag_sanitize_recover
2304 opts->x_flag_sanitize_recover
2309 opts->x_flag_sanitize_coverage
2311 opts->x_flag_sanitize_coverage, value, true);
2330 opts, opts_set, loc, dc);
2338 opts->x_flag_stack_usage_info = value != -1;
2342 set_Wstrict_aliasing (opts, value);
2346 opts->x_warn_strict_overflow = (value
2356 opts->x_flag_gen_aux_info = 1;
2364 opts->x_aux_base_name = tmp;
2371 decode_d_option (arg, opts, loc, dc);
2385 opts->x_exit_after_options = true;
2398 opts->x_flag_callgraph_info = CALLGRAPH_INFO_NAKED;
2410 opts->x_flag_callgraph_info |= CALLGRAPH_INFO_STACK_USAGE;
2411 opts->x_flag_stack_usage_info = true;
2414 opts->x_flag_callgraph_info |= CALLGRAPH_INFO_DYNAMIC_ALLOC;
2481 set_fast_math_flags (opts, value);
2485 set_unsafe_math_optimizations_flags (opts, value);
2493 SET_OPTION_IF_UNSET (opts, opts_set, param_max_inline_insns_single,
2495 SET_OPTION_IF_UNSET (opts, opts_set, param_max_inline_insns_auto,
2501 (&opts->x_flag_instrument_functions_exclude_functions, arg);
2506 (&opts->x_flag_instrument_functions_exclude_files, arg);
2522 opts->x_flag_disable_hsa = true;
2530 opts->x_flag_disable_hsa = true;
2538 opts->x_flag_disable_hsa = false;
2563 opts->x_initial_max_fld_align = value;
2572 opts->x_profile_data_prefix = xstrdup (arg);
2573 opts->x_flag_profile_use = true;
2578 enable_fdo_optimizations (opts, opts_set, value);
2579 SET_OPTION_IF_UNSET (opts, opts_set, flag_profile_reorder_functions,
2583 if (opts->x_flag_value_profile_transformations)
2584 SET_OPTION_IF_UNSET (opts, opts_set, flag_devirtualize_speculatively,
2589 opts->x_auto_profile_file = xstrdup (arg);
2590 opts->x_flag_auto_profile = true;
2595 enable_fdo_optimizations (opts, opts_set, value);
2596 SET_OPTION_IF_UNSET (opts, opts_set, flag_profile_correction, value);
2597 SET_OPTION_IF_UNSET (opts, opts_set,
2602 opts->x_profile_data_prefix = xstrdup (arg);
2607 SET_OPTION_IF_UNSET (opts, opts_set, profile_arc_flag, value);
2608 SET_OPTION_IF_UNSET (opts, opts_set, flag_profile_values, value);
2609 SET_OPTION_IF_UNSET (opts, opts_set, flag_inline_functions, value);
2610 SET_OPTION_IF_UNSET (opts, opts_set, flag_ipa_bit_cp, value);
2668 opts->x_flag_sched_stalled_insns = value;
2669 if (opts->x_flag_sched_stalled_insns == 0)
2670 opts->x_flag_sched_stalled_insns = -1;
2674 opts->x_flag_sched_stalled_insns_dep = value;
2679 opts->x_flag_stack_check = NO_STACK_CHECK;
2682 opts->x_flag_stack_check = STACK_CHECK_BUILTIN
2687 opts->x_flag_stack_check = STACK_CHECK_BUILTIN
2709 opts->x_flag_stack_usage = value;
2710 opts->x_flag_stack_usage_info = value != 0;
2714 set_debug_level (NO_DEBUG, DEFAULT_GDB_EXTENSIONS, arg, opts, opts_set,
2727 value = opts->x_dwarf_version;
2734 opts->x_dwarf_version = value;
2735 set_debug_level (DWARF2_DEBUG, false, "", opts, opts_set, loc);
2739 set_debug_level (NO_DEBUG, DEFAULT_GDB_EXTENSIONS, "", opts, opts_set,
2744 set_debug_level (NO_DEBUG, 2, arg, opts, opts_set, loc);
2749 set_debug_level (DBX_DEBUG, code == OPT_gstabs_, arg, opts, opts_set,
2754 set_debug_level (VMS_DEBUG, false, arg, opts, opts_set, loc);
2759 set_debug_level (XCOFF_DEBUG, code == OPT_gxcoff_, arg, opts, opts_set,
2772 handlers, opts, opts_set,
2777 opts->x_flag_lto = value ? "" : NULL;
2806 opts->x_flag_trapv = 0;
2811 opts->x_flag_wrapv = 0;
2815 opts->x_flag_wrapv = !value;
2816 opts->x_flag_wrapv_pointer = !value;
2818 opts->x_flag_trapv = 0;
2822 opts->x_flag_ipa_icf_functions = value;
2823 opts->x_flag_ipa_icf_variables = value;
2845 gcc_assert (option_flag_var (scode, opts));
2849 common_handle_option_auto (opts, opts_set, decoded, lang_mask, kind,
2861 set_Wstrict_aliasing (struct gcc_options *opts, int onoff)
2865 opts->x_warn_strict_aliasing = 3;
2867 opts->x_warn_strict_aliasing = 0;
2873 set_fast_math_flags (struct gcc_options *opts, int set)
2875 if (!opts->frontend_set_flag_unsafe_math_optimizations)
2877 opts->x_flag_unsafe_math_optimizations = set;
2878 set_unsafe_math_optimizations_flags (opts, set);
2880 if (!opts->frontend_set_flag_finite_math_only)
2881 opts->x_flag_finite_math_only = set;
2882 if (!opts->frontend_set_flag_errno_math)
2883 opts->x_flag_errno_math = !set;
2886 if (opts->frontend_set_flag_excess_precision == EXCESS_PRECISION_DEFAULT)
2887 opts->x_flag_excess_precision
2889 if (!opts->frontend_set_flag_signaling_nans)
2890 opts->x_flag_signaling_nans = 0;
2891 if (!opts->frontend_set_flag_rounding_math)
2892 opts->x_flag_rounding_math = 0;
2893 if (!opts->frontend_set_flag_cx_limited_range)
2894 opts->x_flag_cx_limited_range = 1;
2901 set_unsafe_math_optimizations_flags (struct gcc_options *opts, int set)
2903 if (!opts->frontend_set_flag_trapping_math)
2904 opts->x_flag_trapping_math = !set;
2905 if (!opts->frontend_set_flag_signed_zeros)
2906 opts->x_flag_signed_zeros = !set;
2907 if (!opts->frontend_set_flag_associative_math)
2908 opts->x_flag_associative_math = set;
2909 if (!opts->frontend_set_flag_reciprocal_math)
2910 opts->x_flag_reciprocal_math = set;
2915 fast_math_flags_set_p (const struct gcc_options *opts)
2917 return (!opts->x_flag_trapping_math
2918 && opts->x_flag_unsafe_math_optimizations
2919 && opts->x_flag_finite_math_only
2920 && !opts->x_flag_signed_zeros
2921 && !opts->x_flag_errno_math
2922 && opts->x_flag_excess_precision == EXCESS_PRECISION_FAST);
2943 struct gcc_options *opts, struct gcc_options *opts_set,
2946 opts->x_use_gnu_debug_info_extensions = extended;
2950 if (opts->x_write_symbols == NO_DEBUG)
2952 opts->x_write_symbols = PREFERRED_DEBUGGING_TYPE;
2957 opts->x_write_symbols = DWARF2_DEBUG;
2959 opts->x_write_symbols = DBX_DEBUG;
2963 if (opts->x_write_symbols == NO_DEBUG)
2971 && opts->x_write_symbols != NO_DEBUG
2972 && type != opts->x_write_symbols)
2975 opts->x_write_symbols = type;
2984 if (opts->x_debug_info_level < DINFO_LEVEL_NORMAL)
2985 opts->x_debug_info_level = DINFO_LEVEL_NORMAL;
2995 opts->x_debug_info_level = (enum debug_info_levels) argval;
3027 decode_d_option (const char *arg, struct gcc_options *opts,
3036 opts->x_flag_debug_asm = 1;
3039 opts->x_flag_print_asm_name = 1;
3042 opts->x_flag_dump_rtl_in_asm = 1;
3043 opts->x_flag_print_asm_name = 1;
3046 opts->x_rtl_dump_and_exit = 1;
3058 opts->x_flag_dump_all_passed = true;
3075 struct gcc_options *opts,
3110 handlers, opts, opts_set, dc);