[Bug fortran/25392] ICEs with -ff2c

fxcoudert at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Fri Jun 30 10:08:00 GMT 2006



------- Comment #5 from fxcoudert at gcc dot gnu dot org  2006-06-30 08:54 -------
Reduced testcase:
  real function foo ()
    if (foo .gt. 0) call abort
  end

I'm almost sure it's a type mismatch problem. The above code generates the
following tree dump:

foo ()
{
  real8 __result_foo;

  if (__result_foo > 0.0)
    {
      _gfortran_abort ();
    }
  else
    {
      (void) 0;
    }
  return __result_foo;
}

but I think foo is not declared a real8 but simply as real4. If I change the
Fortran code to explicitly declare foo as "real*8 function foo ()" then the ICE
disappears.


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2006-05-11 11:36:23         |2006-06-30 08:54:46
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25392



More information about the Gcc-bugs mailing list