OSDN Git Service

2010-11-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
authorjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 27 Nov 2010 22:12:46 +0000 (22:12 +0000)
committerjvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 27 Nov 2010 22:12:46 +0000 (22:12 +0000)
PR fortran/46301
trans-expr.c (gfc_trans_assignment): Add error message for not
implemented assignment to deferred-length character variable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167212 138bc75d-0d04-0410-961f-82ee72b054a4

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

index a79b91d..0f611b3 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 e8b516c..3401ae9 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)