re PR fortran/46408 ([OOP] Segfault when running gfortran.dg/class_allocate_6.f03)
authorJanus Weil <janus@gcc.gnu.org>
Sun, 2 Jan 2011 21:01:50 +0000 (22:01 +0100)
committerJanus Weil <janus@gcc.gnu.org>
Sun, 2 Jan 2011 21:01:50 +0000 (22:01 +0100)
2011-01-02  Janus Weil  <janus@gcc.gnu.org>

PR fortran/46408
* class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
routine.

2011-01-02  Janus Weil  <janus@gcc.gnu.org>

PR fortran/46408
* gfortran.dg/class_19.f03: Adjust counting of __builtin_free.

From-SVN: r168409

gcc/fortran/ChangeLog
gcc/fortran/class.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/class_19.f03

index a3aa49dbcbfcb4d85ac42be524d154fee09ec788..0a7edea7041901f619c7a39abaed0c6495fb582d 100644 (file)
@@ -1,3 +1,9 @@
+2011-01-02  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/46408
+       * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
+       routine.
+
 \f
 Copyright (C) 2011 Free Software Foundation, Inc.
 
index 27c7d23b68c04be9e6a8b96655323a6ab5b755cf..5b6851b49f389ffdc8ca9f203ffc714eb9970bbe 100644 (file)
@@ -548,7 +548,7 @@ gfc_find_derived_vtab (gfc_symbol *derived)
                  copy->formal->next->sym = dst;
                  /* Set up code.  */
                  sub_ns->code = gfc_get_code ();
-                 sub_ns->code->op = EXEC_ASSIGN;
+                 sub_ns->code->op = EXEC_INIT_ASSIGN;
                  sub_ns->code->expr1 = gfc_lval_expr_from_sym (dst);
                  sub_ns->code->expr2 = gfc_lval_expr_from_sym (src);
                  /* Set initializer.  */
index defb49455573749fecca32e2b17dd1d77b2232f3..df5ce019c889d0e54232e97e627f50cfd4d2935c 100644 (file)
@@ -1,3 +1,8 @@
+2011-01-02  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/46408
+       * gfortran.dg/class_19.f03: Adjust counting of __builtin_free.
+
 2011-01-02  Jakub Jelinek  <jakub@redhat.com>
 
        PR tree-optimization/47140
index 27ee7b4e2cb44829665a1f354e13de8e9310d113..78e5652a871ac524659ec8b8afe1bb0106018b91 100644 (file)
@@ -39,7 +39,7 @@ program main
 
 end program main
 
-! { dg-final { scan-tree-dump-times "__builtin_free" 11 "original" } }
+! { dg-final { scan-tree-dump-times "__builtin_free" 8 "original" } }
 ! { dg-final { cleanup-tree-dump "original" } }
 
 ! { dg-final { cleanup-modules "foo_mod" } }