bad_lang = write_langs (lang_mask);
/* Eventually this should become a hard error IMO. */
- warning ("command line option \"%s\" is valid for %s but not for %s",
+ warning (0, "command line option \"%s\" is valid for %s but not for %s",
text, ok_langs, bad_lang);
free (ok_langs);
/* We've recognized this switch. */
result = 1;
+ /* Check to see if the option is disabled for this configuration. */
+ if (option->flags & CL_DISABLED)
+ {
+ error ("command line option %qs"
+ " is not supported by this configuration", opt);
+ goto done;
+ }
+
/* Sort out any argument the switch takes. */
if (option->flags & CL_JOINED)
{
this to `2' if -Wall is used, so we can avoid giving out
lots of errors for people who don't realize what -Wall does. */
if (warn_uninitialized == 1)
- warning ("-Wuninitialized is not supported without -O");
+ warning (0, "-Wuninitialized is not supported without -O");
}
if (flag_really_no_inline == 2)
flag_reorder_blocks_and_partition = 0;
flag_reorder_blocks = 1;
}
+
+ if (flag_reorder_blocks_and_partition
+ && !targetm.have_named_sections)
+ {
+ inform
+ ("-freorder-blocks-and-partition does not work on this architecture.");
+ flag_reorder_blocks_and_partition = 0;
+ flag_reorder_blocks = 1;
+ }
}
/* Handle target- and language-independent options. Return zero to
return 0;
break;
+ case OPT_fdiagnostics_show_option:
+ global_dc->show_option_requested = true;
+ break;
+
case OPT_fdump_:
if (!dump_switch_p (arg))
return 0;
else if (!strcmp (arg, "local-exec"))
flag_tls_default = TLS_MODEL_LOCAL_EXEC;
else
- warning ("unknown tls-model \"%s\"", arg);
+ warning (0, "unknown tls-model \"%s\"", arg);
break;
case OPT_ftracer:
default:
/* If the flag was handled in a standard way, assume the lack of
processing here is intentional. */
- if (cl_options[scode].flag_var)
- break;
-
- abort ();
+ gcc_assert (cl_options[scode].flag_var);
+ break;
}
return 1;
}
if (write_symbols == NO_DEBUG)
- warning ("target system does not support debug output");
+ warning (0, "target system does not support debug output");
}
}
else
a simple on-off switch. */
int
-option_enabled (const struct cl_option *option)
+option_enabled (int opt_idx)
{
+ const struct cl_option *option = &(cl_options[opt_idx]);
if (option->flag_var)
switch (option->var_cond)
{