[Bug fortran/54818] [4.7/4.8 Regression] error: type mismatch in binary expression

burnus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Dec 19 09:04:00 GMT 2012


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

--- Comment #6 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-12-19 09:03:46 UTC ---
My patch is wrong. It might lead to passing an integer(8) instead of integer(4)
as hidden argument when calling a procedure. The proper way it to use
gfc_charlen_type_node.

However, the following works:

--- a/gcc/fortran/trans-intrinsic.c
+++ b/gcc/fortran/trans-intrinsic.c
@@ -5664,3 +5664,3 @@ scalar_transfer:
       se->expr = tmpdecl;
-      se->string_length = dest_word_len;
+      se->string_length = fold_convert (gfc_charlen_type_node, dest_word_len);
     }



More information about the Gcc-bugs mailing list