This is the mail archive of the
mailing list for the GCC project.
*ping* [patch, fortran] Fix PR 85544
- From: Thomas Koenig <tkoenig at netcologne dot de>
- To: "fortran at gcc dot gnu dot org" <fortran at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Sat, 22 Dec 2018 14:37:29 +0100
- Subject: *ping* [patch, fortran] Fix PR 85544
- References: <firstname.lastname@example.org>
the PR pointed out an old regression because the front-end optimization
pass was substituting 2**n with ishift(1,n), where n was an array.
Simply removing the optimization for that case would have been easy,
but also introduced a performance regression.
So, for this, I moved the optimization to trans-*, where it makes more
Regression-tested. This turned up that one of our tests, mvbits_1.f90,
depends on the behavior that 2**32 is zero. This is certainly not
guaranteed by the standard, but I chose to keep the behavior as not
to introduce any changes in behavior.
This fixes a regression, so I would like to backport to all active
branches if this if possible.
Oh yes, if anybody feels strongly that we should also optimize 32**n
and powers of other powers to two, now is the time to speak up :-)
OK for affected branches?