Re: [PATCH] complex type canonicalization

2017-11-29 Thread Jakub Jelinek
On Wed, Nov 29, 2017 at 10:33:04AM +0100, Jakub Jelinek wrote: > > - /* We need to create a name, since complex is a fundamental type. */ > > - if (!TYPE_NAME (t) && named) > > + /* We need to create a name, since complex is a fundamental type. */ > > + if (named) > > + { > > +

Re: [PATCH] complex type canonicalization

2017-11-29 Thread Jakub Jelinek
On Tue, Nov 28, 2017 at 01:27:54PM -0500, Nathan Sidwell wrote: > --- tree.c(revision 255202) > +++ tree.c(working copy) > - /* We need to create a name, since complex is a fundamental type. */ > - if (!TYPE_NAME (t) && named) > + /* We need to create a name, since complex is a fund

[PATCH] complex type canonicalization

2017-11-28 Thread Nathan Sidwell
This patch fixes PR 83187, a C++ ICE with alias sets. As Jakub observed in the bug, we ended up with a type whose main variant's canonical type's main variant was not itself. That should be an invariant. In build_complex_type, we create a probe type: tree probe = make_node (COMPLEX_TYPE);