Commit 59aab79a by Richard Earnshaw Committed by Richard Earnshaw

[ARM] PR82175 - fix -mcpu=native not working correctly.

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
parent 09fdb701
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
......@@ -2228,9 +2228,12 @@ const char *arm_be8_option (int argc, const char **argv);
" %{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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment