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

     }

Reply via email to