This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/36590] internal error: Can't convert LOGICAL(1) to LOGICAL(1)
- From: "burnus at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 Jun 2008 16:26:14 -0000
- Subject: [Bug fortran/36590] internal error: Can't convert LOGICAL(1) to LOGICAL(1)
- References: <bug-36590-15125@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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