[Bug rtl-optimization/37286] [4.4 regression] gfortran, trunk: ICE subst_stack_regs_pat, at reg-stack.c:1537
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sat Aug 30 23:04:00 GMT 2008
------- Comment #4 from pinskia at gcc dot gnu dot org 2008-08-30 23:02 -------
Here is a C++ testcase (you can convert it to C if you want by changing the
references to pointers and such):
int gni97 = 97, gnj97 = 33;
double gnu[97];
extern void g(void);
double f(double & min, float & max)
{
double prephitmp35;
double prephitmp24;
float monte_temp;
int D1505;
prephitmp35 = min;
prephitmp24 = max;
if (prephitmp35 > prephitmp24)
{
g();
prephitmp35 = min;
prephitmp24 = max;
}
else
{
D1505 = gni97 - 1;
monte_temp = gnu[D1505] - gnu[gnj97-1];
if (monte_temp < 0)
{
monte_temp = monte_temp + 1.0;
}
gnu[D1505] = monte_temp;
}
return monte_temp * (prephitmp24 + prephitmp35) + prephitmp35;
}
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
GCC build triplet|i686-pc-linux-gnu |
GCC host triplet|i686-pc-linux-gnu |
GCC target triplet|i686-pc-linux-gnu |i?86-*-* x86_64-*-* (-m32)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37286
More information about the Gcc-bugs
mailing list