The new option processing machinery relies on %< rules in the specs to
suppress options that are rewritten. Suppression appears to be a two
phase process where the option is partially suppressed when %< is
processed and then fully suppressed at the end of the string. Strings
are separated by commas and there can be multiple strings used to form
DRIVER_SELF_SPECS.
The fix in this case is to separate the driver self specs for ARM into
separate rules as described; this forces the -m{cpu,tune,arch}=native
options to be properly removed before proceeding to the next rule set.
PR target/82175
* config/arm/arm.h (DRIVER_SELF_SPECS): Separate sub-rules with commas.
From-SVN: r253189
+2017-09-26 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/82175
+ * config/arm/arm.h (DRIVER_SELF_SPECS): Separate sub-rules with commas.
+
2017-09-26 Richard Biener <rguenther@suse.de>
PR tree-optimization/82320
" %{mfloat-abi=*: abi %*}" \
" %<march=*) "
+/* Complete set of specs for the driver. Commas separate the
+ individual rules so that any option suppression (%<opt...)is
+ completed before starting subsequent rules. */
#define DRIVER_SELF_SPECS \
- MCPU_MTUNE_NATIVE_SPECS \
- TARGET_MODE_SPECS \
+ MCPU_MTUNE_NATIVE_SPECS, \
+ TARGET_MODE_SPECS, \
ARCH_CANONICAL_SPECS
#define TARGET_SUPPORTS_WIDE_INT 1