This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/36590] internal error: Can't convert LOGICAL(1) to LOGICAL(1)



------- Comment #6 from burnus at gcc dot gnu dot org  2008-06-22 16:26 -------
Patch. The problem was that gfortran failed to find a conversion routine for
logical(1) to logical(1), now it simply does nothing and reports success.

I'm not sure whether BT_VOID needs some special care or not. (Cf. interface.c's
gfc_compare_types. Probably BT_VOID can never happen - or can it?)

Index: intrinsic.c
===================================================================
--- intrinsic.c (Revision 137011)
+++ intrinsic.c
@@ -3701,8 +3701,7 @@ gfc_convert_type_warn (gfc_expr *expr, g
   if (expr->ts.type == BT_UNKNOWN)
     goto bad;

-  if (expr->ts.type == BT_DERIVED && ts->type == BT_DERIVED
-      && gfc_compare_types (&expr->ts, ts))
+  if (gfc_compare_types (&expr->ts, ts))
     return SUCCESS;

   sym = find_conv (&expr->ts, ts);


-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]