===================================================================
@@ -341,12 +341,13 @@ print "{";
n_opt_char = 2;
n_opt_short = 0;
n_opt_int = 0;
-n_opt_enum = 0;
+n_opt_enum = 1;
n_opt_other = 0;
var_opt_char[0] = "optimize";
var_opt_char[1] = "optimize_size";
var_opt_range["optimize"] = "0, 255";
var_opt_range["optimize_size"] = "0, 255";
+var_opt_enum[0] = "flag_fp_contract_mode";
# Sort by size to mimic how the structure is laid out to be friendlier to the
# cache.
@@ -394,14 +395,14 @@ for (i = 0; i < n_opt_other; i++) {
print " ptr->x_" var_opt_other[i] " = opts->x_" var_opt_other[i] ";";
}
-for (i = 0; i < n_opt_enum; i++) {
- print " ptr->x_" var_opt_enum[i] " = opts->x_" var_opt_enum[i] ";";
-}
-
for (i = 0; i < n_opt_int; i++) {
print " ptr->x_" var_opt_int[i] " = opts->x_" var_opt_int[i] ";";
}
+for (i = 0; i < n_opt_enum; i++) {
+ print " ptr->x_" var_opt_enum[i] " = opts->x_" var_opt_enum[i] ";";
+}
+
for (i = 0; i < n_opt_short; i++) {
print " ptr->x_" var_opt_short[i] " = opts->x_" var_opt_short[i] ";";
}
@@ -422,14 +423,14 @@ for (i = 0; i < n_opt_other; i++) {
print " opts->x_" var_opt_other[i] " = ptr->x_" var_opt_other[i] ";";
}
-for (i = 0; i < n_opt_enum; i++) {
- print " ptr->x_" var_opt_enum[i] " = opts->x_" var_opt_enum[i] ";";
-}
-
for (i = 0; i < n_opt_int; i++) {
print " opts->x_" var_opt_int[i] " = ptr->x_" var_opt_int[i] ";";
}
+for (i = 0; i < n_opt_enum; i++) {
+ print " opts->x_" var_opt_enum[i] " = ptr->x_" var_opt_enum[i] ";";
+}
+
for (i = 0; i < n_opt_short; i++) {
print " opts->x_" var_opt_short[i] " = ptr->x_" var_opt_short[i] ";";
}
@@ -459,15 +460,6 @@ for (i = 0; i < n_opt_other; i++) {
print "";
}
-for (i = 0; i < n_opt_enum; i++) {
- print " if (ptr->x_" var_opt_enum[i] ")";
- print " fprintf (file, \"%*s%s (%#x)\\n\",";
- print " indent_to, \"\",";
- print " \"" var_opt_enum[i] "\",";
- print " ptr->x_" var_opt_enum[i] ");";
- print "";
-}
-
for (i = 0; i < n_opt_int; i++) {
print " if (ptr->x_" var_opt_int[i] ")";
print " fprintf (file, \"%*s%s (%#x)\\n\",";
@@ -477,6 +469,14 @@ for (i = 0; i < n_opt_int; i++) {
print "";
}
+for (i = 0; i < n_opt_enum; i++) {
+ print " fprintf (file, \"%*s%s (%#x)\\n\",";
+ print " indent_to, \"\",";
+ print " \"" var_opt_enum[i] "\",";
+ print " (int) ptr->x_" var_opt_enum[i] ");";
+ print "";
+}
+
for (i = 0; i < n_opt_short; i++) {
print " if (ptr->x_" var_opt_short[i] ")";
print " fprintf (file, \"%*s%s (%#x)\\n\",";
===================================================================
@@ -190,10 +190,11 @@ print "{";
n_opt_char = 2;
n_opt_short = 0;
n_opt_int = 0;
-n_opt_enum = 0;
+n_opt_enum = 1;
n_opt_other = 0;
var_opt_char[0] = "unsigned char x_optimize";
var_opt_char[1] = "unsigned char x_optimize_size";
+var_opt_enum[0] = "enum fp_contract_mode x_flag_fp_contract_mode";
for (i = 0; i < n_opts; i++) {
if (flag_set_p("Optimization", flags[i])) {
@@ -227,14 +228,14 @@ for (i = 0; i < n_opt_other; i++) {
print " " var_opt_other[i] ";";
}
-for (i = 0; i < n_opt_enum; i++) {
- print " " var_opt_enum[i] ";";
-}
-
for (i = 0; i < n_opt_int; i++) {
print " " var_opt_int[i] ";";
}
+for (i = 0; i < n_opt_enum; i++) {
+ print " " var_opt_enum[i] ";";
+}
+
for (i = 0; i < n_opt_short; i++) {
print " " var_opt_short[i] ";";
}
===================================================================
@@ -2889,8 +2889,7 @@ rs6000_option_override_internal (bool gl
if (main_target_opt != NULL
&& (main_target_opt->x_rs6000_long_double_type_size
!= RS6000_DEFAULT_LONG_DOUBLE_SIZE))
- error ("You cannot change long double size within a target attribute "
- "or pragma");
+ error ("target attribute or pragma changes long double size");
else
rs6000_long_double_type_size = RS6000_DEFAULT_LONG_DOUBLE_SIZE;
}
@@ -2911,8 +2910,7 @@ rs6000_option_override_internal (bool gl
if (TARGET_XCOFF && (TARGET_ALTIVEC || TARGET_VSX))
{
if (main_target_opt != NULL && !main_target_opt->x_rs6000_altivec_abi)
- error ("You cannot switch to the altivec abi within a target "
- "attribute or pragma");
+ error ("target attribute or pragma changes AltiVec ABI");
else
rs6000_altivec_abi = 1;
}
@@ -2927,8 +2925,7 @@ rs6000_option_override_internal (bool gl
{
if (main_target_opt != NULL &&
!main_target_opt->x_rs6000_altivec_abi)
- error ("You cannot switch to the altivec abi within a target "
- "attribute or pragma");
+ error ("target attribute or pragma changes AltiVec ABI");
else
rs6000_altivec_abi = 1;
}
@@ -2945,8 +2942,7 @@ rs6000_option_override_internal (bool gl
&& TARGET_64BIT)
{
if (main_target_opt != NULL && !main_target_opt->x_rs6000_darwin64_abi)
- error ("You cannot switch to the darwin64 abi within a target "
- "attribute or pragma");
+ error ("target attribute or pragma changes darwin64 ABI");
else
{
rs6000_darwin64_abi = 1;
@@ -2987,8 +2983,7 @@ rs6000_option_override_internal (bool gl
&& ((main_target_opt->x_rs6000_spe_abi != rs6000_spe_abi)
|| (main_target_opt->x_rs6000_spe != rs6000_spe)
|| (main_target_opt->x_rs6000_float_gprs != rs6000_float_gprs)))
- error ("You cannot switch to the SPE abi within a target "
- "attribute or pragma");
+ error ("target attribute or pragma changes SPE ABI");
else
{
if (!rs6000_explicit_options.spe_abi)
@@ -3309,11 +3304,11 @@ rs6000_option_override_internal (bool gl
if (main_target_opt)
{
if (main_target_opt->x_rs6000_single_float != rs6000_single_float)
- error ("You are not allowed to change the single precision floating "
- "point unit within a target attribute or pragma");
+ error ("target attribute or pragma changes single precision floating "
+ "point");
if (main_target_opt->x_rs6000_double_float != rs6000_double_float)
- error ("You are not allowed to change the double precision floating "
- "point unit within a target attribute or pragma");
+ error ("target attribute or pragma changes double precision floating "
+ "point");
}
/* If not explicitly specified via option, decide whether to generate indexed
@@ -27547,7 +27542,7 @@ rs6000_inner_target_options (tree args,
}
if (cpu_opt)
- error ("Invalid cpu \"%s\" for %s\"%s\"%s", cpu_opt, eprefix,
+ error ("invalid cpu \"%s\" for %s\"%s\"%s", cpu_opt, eprefix,
q, esuffix);
else if (not_valid_p)
error ("%s\"%s\"%s is not allowed", eprefix, q, esuffix);