unsigned int lang_mask);
static void set_debug_level (enum debug_info_type type, int extended,
const char *arg);
+static void set_fast_math_flags (int set);
+static void set_unsafe_math_optimizations_flags (int set);
/* Return a malloced slash-separated list of languages in MASK. */
static char *
/* Some targets have ABI-specified unwind tables. */
opts->x_flag_unwind_tables = targetm.unwind_tables_default;
+
+ /* Some targets have other target-specific initialization. */
+ targetm.target_option.init_struct (opts);
}
/* Decode command-line options to an array, like
section-anchors. */
if (!flag_unit_at_a_time)
{
- if (flag_section_anchors == 1)
+ if (flag_section_anchors && opts_set->x_flag_section_anchors)
error ("Section anchors must be disabled when unit-at-a-time "
"is disabled.");
flag_section_anchors = 0;
/* Unless the user has asked for section anchors, we disable toplevel
reordering at -O0 to disable transformations that might be surprising
to end users and to get -fno-toplevel-reorder tested. */
- if (!optimize && flag_toplevel_reorder == 2 && flag_section_anchors != 1)
+ if (!optimize
+ && flag_toplevel_reorder == 2
+ && !(flag_section_anchors && opts_set->x_flag_section_anchors))
{
flag_toplevel_reorder = 0;
flag_section_anchors = 0;
}
if (!flag_toplevel_reorder)
{
- if (flag_section_anchors == 1)
+ if (flag_section_anchors && opts_set->x_flag_section_anchors)
error ("section anchors must be disabled when toplevel reorder"
" is disabled");
flag_section_anchors = 0;
/* The following routines are useful in setting all the flags that
-ffast-math and -fno-fast-math imply. */
-void
+static void
set_fast_math_flags (int set)
{
flag_unsafe_math_optimizations = set;
/* When -funsafe-math-optimizations is set the following
flags are set as well. */
-void
+static void
set_unsafe_math_optimizations_flags (int set)
{
flag_trapping_math = !set;