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

Reply via email to