re PR fortran/46301 (Missing diagnosis for "len=:")
authorJerry DeLisle <jvdelisle@gcc.gnu.org>
Sat, 27 Nov 2010 22:12:46 +0000 (22:12 +0000)
committerJerry DeLisle <jvdelisle@gcc.gnu.org>
Sat, 27 Nov 2010 22:12:46 +0000 (22:12 +0000)
2010-11-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/46301
trans-expr.c (gfc_trans_assignment): Add error message for not
implemented assignment to deferred-length character variable.

From-SVN: r167212

gcc/fortran/ChangeLog
gcc/fortran/trans-expr.c

index a79b91d8b7eb7ea4e9b789b7316e24c20829b228..0f611b36c6a599a525b396e5eacff9f3b4ee3264 100644 (file)
@@ -1,3 +1,9 @@
+2010-11-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+       PR fortran/46301
+       trans-expr.c (gfc_trans_assignment): Add error message for not
+       implemented assignment to deferred-length character variable.
+
 2010-11-26  Jakub Jelinek  <jakub@redhat.com>
 
        PR bootstrap/45700
index e8b516c3f58a3e62c1a53f0958ac80d9b592958b..3401ae9f83bff9c851cdb0538fd1bbce5737ec44 100644 (file)
@@ -5806,6 +5806,13 @@ gfc_trans_assignment (gfc_expr * expr1, gfc_expr * expr2, bool init_flag,
                      bool dealloc)
 {
   tree tmp;
+  
+  if (expr1->ts.type == BT_CHARACTER && expr1->ts.deferred)
+    {
+      gfc_error ("Assignment to deferred-length character variable at %L "
+                "not implemented", &expr1->where);
+      return NULL_TREE;
+    }
 
   /* Special case a single function returning an array.  */
   if (expr2->expr_type == EXPR_FUNCTION && expr2->rank > 0)