[Patch, fortran] PR90577, PR90578 - FAIL: gfortran.dg/lrshift_1.f90 & Wrong code with LSHIFT and optimization

Steve Kargl sgk@troutmask.apl.washington.edu
Thu Jun 13 22:18:00 GMT 2019


On Thu, Jun 13, 2019 at 11:50:23PM +0200, Harald Anlauf wrote:
> 
> it was already discussed in the above PRs that the testcase
> lrshift_1.f90 needs to be corrected because it invokes negative
> values of the SHIFT argument.  This is fixed, as well as the
> related documentation, which did not match e.g. the Fortran standard.
> 
> Looking closer at the actual implementation, it also turned out that the
> runtime implementation of SHIFTA/RSHIFT gave different (=wrong) results
> when SHIFT==BIT_SIZE(arg1).  This is fixed and tested by the attached
> patches.
> 
> I did not implement any run-time checks for the SHIFT argument.
> All previous undefined behavior stays the same.
> 
> OK for trunk?
> 

Looks good to me.

-- 
Steve



More information about the Gcc-patches mailing list