This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/24406] EQUIVALENCE broken in 32-bit code with optimization -O2
- From: "paul dot richard dot thomas at cea dot fr" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 3 Mar 2006 10:08:25 -0000
- Subject: [Bug fortran/24406] EQUIVALENCE broken in 32-bit code with optimization -O2
- References: <bug-24406-10567@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #11 from paul dot richard dot thomas at cea dot fr 2006-03-03 10:08 -------
> Even though the final tree dump looks correct this is a still a front-end issue
> as the front-end communicates the aliasing sets to the rtl optimizers.
> I am going to take it too.
I have either missed something, the PR has fixed itself or it is not a
front-end problem. See below.
Paul
THOMASP@PC-THOMAS-P /cygdrive/d/svn/prs
$ /irun/bin/gfortran --version
GNU Fortran 95 (GCC) 4.2.0 20060301 (experimental)
Copyright (C) 2006 Free Software Foundation, Inc.
THOMASP@PC-THOMAS-P /cygdrive/d/svn/prs
$ uname -a
CYGWIN_NT-5.0 PC-THOMAS-P 1.5.7(0.109/3/2) 2004-01-30 19:32 i686 unknown
unknown
Cygwin
THOMASP@PC-THOMAS-P /cygdrive/d/svn/prs
$ /irun/bin/gfortran -m32 -O3 -Wall -std=f95 -pedantic -fdump-tree-gimple pr244
06.f
THOMASP@PC-THOMAS-P /cygdrive/d/svn/prs
$ ./a
0.99 < rteps < 1.1 : rteps OK
rteps = 1.00000000000000
THOMASP@PC-THOMAS-P /cygdrive/d/svn/prs
$ cat *pr24406*le
MAIN__ ()
{
real8 D.906;
logical4 D.907;
logical4 D.908;
logical4 D.909;
logical4 D.910;
union
{
int4 irt[2];
real8 rteps;
} equiv.0;
int4 irt[2] [value-expr: equiv.0.irt];
real8 rteps [value-expr: equiv.0.rteps];
_gfortran_set_std (2, 11, 1);
equiv.0.irt[0] = 0;
equiv.0.irt[1] = 1072693248;
D.906 = equiv.0.rteps;
D.907 = D.906 > 9.89999999999999991118215802998747676610946655273e-1;
D.908 = !D.907;
if (D.908)
..........snip.............
--
paul dot richard dot thomas at cea dot fr changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |paul dot richard dot thomas
| |at cea dot fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24406