------- 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