On Fri, 2020-01-17 at 16:54 -0500, David Malcolm wrote:
> PR analyzer/93307 reports that in an LTO bootstrap, there are ODR
> violations between:
> - the "region" type:
>     gcc/analyzer/region-model.h:792
>   vs:
>     gcc/sched-int.h:1443
> - the "constraint" type:
>     gcc/analyzer/constraint-manager.h:121
>   vs:
>     gcc/tree-ssa-structalias.c:533
> 
> This patches solves this clash by putting all of the analyzer names
> within a namespace.  I chose "ana" as it is short (to save typing).
> The analyzer selftests are moved from namespace "selftest" to
> "ana::selftest".
> 
> There are various places where the namespace has to be closed
> and reopened, to allow e.g. for specializations of templates
> in the global namespace.
> 
> Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu.
> 
> OK for master?

I was able to successfully reproduce the problem
(via --with-build-config=bootstrap-lto), and verify that the patch
fixed it (with another bootstrap and regression test), so I've pushed
this to master, as r10-6151-g75038aa6aa5b562e6358108619d66ef2ccab9a53.

Dave

Reply via email to