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

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

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

Harald Anlauf-3
Committed as svn rev. 272309.

Thanks for the quick review!

Harald

On 06/14/19 00:18, Steve Kargl wrote:

> 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.
>