OSDN Git Service

2009-10-07 Paul Thomas <pault@gcc.gnu.org>
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Oct 2009 05:17:29 +0000 (05:17 +0000)
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 7 Oct 2009 05:17:29 +0000 (05:17 +0000)
        PR fortran/41613
        * resolve.c (check_class_members): Reset compcall.assign.

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

gcc/fortran/ChangeLog
gcc/fortran/resolve.c

index 24891ab..f833c20 100644 (file)
@@ -1,3 +1,8 @@
+2009-10-07  Paul Thomas <pault@gcc.gnu.org>
+
+        PR fortran/41613
+        * resolve.c (check_class_members): Reset compcall.assign.
+
 2009-10-05  Paul Thomas  <pault@gcc.gnu.org>
 
        * trans-expr.c (select_class_proc): New function.
index 2f0972b..8acd580 100644 (file)
@@ -5132,6 +5132,11 @@ check_class_members (gfc_symbol *derived)
   e->value.compcall.tbp = tbp->n.tb;
   e->value.compcall.name = tbp->name;
 
+  /* Let the original expresssion catch the assertion in
+     resolve_compcall, since this flag does not appear to be reset or
+     copied in some systems.  */
+  e->value.compcall.assign = 0;
+
   /* Do the renaming, PASSing, generic => specific and other
      good things for each class member.  */
   class_try = (resolve_compcall (e, fcn_flag) == SUCCESS)