On Fri, May 24, 2019 at 10:13 AM Jakub Jelinek <ja...@redhat.com> wrote:
> On Wed, May 22, 2019 at 05:59:56PM -0400, Jason Merrill wrote:
> > On Tue, May 7, 2019 at 4:43 PM Jason Merrill <ja...@redhat.com> wrote:
> > >
> > >         * typeck.c (build_static_cast_1): Use cp_build_addr_expr.
> > >
> > > For GCC 9 I fixed this bug with a patch to gimplify_cond_expr, but this
> > > function was also doing the wrong thing.
> > >
> > > Using build_address does not push the ADDR_EXPR down into the arms of a
> > > COND_EXPR, which we need for proper handling of conversion of an lvalue ?:
> > > to another reference type.
> >
> > And that allows the gimplifier to assert that we should never see a
> > COND_EXPR of addressable type.
> >
> > Tested x86_64-pc-linux-gnu, applying to trunk.
>
> > commit c4f1e37204aaea7efb2aa7dc234d5c8ebeba1089
> > Author: Jason Merrill <ja...@redhat.com>
> > Date:   Mon Mar 4 14:09:57 2019 -0500
> >
> >             * gimplify.c (gimplify_cond_expr): Don't check TREE_ADDRESSABLE.
> >
> >     The front end shouldn't produce a GENERIC COND_EXPR of TREE_ADDRESSABLE
> >     type.
>
> I think this broke a lot in the D testsuite:

Thanks, reverted.

Jason

Reply via email to