[PATCH] Change DO loop translation, avoid undefined overflow and repeated step sign tests
Tobias Burnus
burnus@net-b.de
Wed Jan 16 14:35:00 GMT 2013
Richard Biener wrote:
> if (D.1912 < 0)
> {
> if (D.1911 > D.1910)
> {
> goto L.6;
> }
> else
> {
> countm1.6 = ((unsigned int) D.1910 -
> (unsigned int) D.1911) / -(unsigned int) D.1912;
> }
> }
> else
> {
> if (D.1911 < D.1910)
> {
> goto L.6;
> }
> else
> {
> countm1.6 = ((unsigned int) D.1911 -
> (unsigned int) D.1910) / (unsigned int) D.1912;
> }
> }
That look better.
> Bootstrapped on x86_64-unknown-linux-gnu, regtests running.
> Ok for trunk?
>
> 2013-01-16 Richard Biener <rguenther@suse.de>
>
> fortran/
I assume you mean 42108. (PR42131 caused the 'regression' and is a clone
of 42108; PRs 52865/53957 are related.)
The patch is OK. Thanks!
Tobias
More information about the Fortran
mailing list