https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107874

--- Comment #5 from Steve Kargl <sgk at troutmask dot apl.washington.edu> ---
On Sun, Nov 27, 2022 at 08:00:35PM +0000, anlauf at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107874
> 
> --- Comment #3 from anlauf at gcc dot gnu.org ---
> (In reply to kargl from comment #2)
> > Harald, you are likely right the patch can be moved down.  I'll programmed
> > up the example from the Fortran 2018 standard, which works as expected.  So,
> > there is definitely something about a scalar mask choosing the actual
> > argument before both are evaluated.
> > 
> >    program foo
> 
> Steve,
> 
> this example from the standard seems to be working down to 7.5 for me.
> Am I missing something?  Do we need this in the testsuite?

You are not missing anything.  I wanted an example that works
with or without the patch John included, so that we don't 
accidently introduce a regression.

> I'd say it's rather the following two lines replacing the loop in the
> reproducer in comment#0:
> 
>   print *, merge(tstuff(),fstuff(),.true.)
>   print *, merge(tstuff(),fstuff(),.false.)
> 
> This is mis-simplified in simplify.cc:4909

Good find!  This may indeed be a source of the issue.

Reply via email to