On Wed, 13 Feb 2019, Jakub Jelinek wrote:

> On Tue, Feb 12, 2019 at 11:21:04PM +0000, Joseph Myers wrote:
> > I think this is changing architecture-independent code in a way that is 
> > not clearly safe based on the architecture-independent options design, in 
> > order to address an architecture-specific problem.  The exclusion of 
> 
> Actually, I think it is a problem common to many backends, in particular
> those where *_host_detect_local_cpu emits for -m*=native sometimes more than
> one option, so at least i386, s390, rs6000, maybe also those that emit just
> one option because it likely ends up at a different spot on the command line
> from where -m{arch,cpu,tune}=native was originally present (that would be
> aarch64, alpha, arm, mips and sparc).  I guess the user expectations is that
> -march=native -march=foobar will be handled as
> -march=foobar, rather than -march=native -march=foobar -march=my_great_cpu 
> -mfoo -mbar

It seems right in the march= case to handle that combination as 
-march=foobar - but it's less clear if that must always be the case for 
Joined options with negative versions (at least, the semantics would need 
defining more carefully in options.texi, with an analysis of existing 
affected options).

-- 
Joseph S. Myers
jos...@codesourcery.com

Reply via email to