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

kargl at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kargl at gcc dot gnu.org
           Severity|critical                    |normal

--- Comment #1 from kargl at gcc dot gnu.org 2010-10-18 02:17:48 UTC ---
The following patch allows your code to compile, but 
I have no idea if it is the correct fix.

Index: trans-expr.c
===================================================================
--- trans-expr.c        (revision 165533)
+++ trans-expr.c        (working copy)
@@ -5675,7 +5675,7 @@ gfc_trans_assignment_1 (gfc_expr * expr1
   gfc_conv_expr (&rse, expr2);

   /* Stabilize a string length for temporaries.  */
-  if (expr2->ts.type == BT_CHARACTER)
+  if (expr2->ts.type == BT_CHARACTER && rse.string_length)
     string_length = gfc_evaluate_now (rse.string_length, &rse.pre);
   else
     string_length = NULL_TREE;

Reply via email to