aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2011-01-02 22:01:50 +0100
committerJanus Weil <janus@gcc.gnu.org>2011-01-02 22:01:50 +0100
commit2e85ae0d6d199fa7b8e25a6f7c5c6608c14c0116 (patch)
tree754a2f2f9ac20748b031aaffd1e588fe1adb1ea3 /gcc
parent9ad2c58f861de68a59582c3afa3b62b111d1f5f5 (diff)
downloadgcc-2e85ae0d6d199fa7b8e25a6f7c5c6608c14c0116.zip
gcc-2e85ae0d6d199fa7b8e25a6f7c5c6608c14c0116.tar.gz
gcc-2e85ae0d6d199fa7b8e25a6f7c5c6608c14c0116.tar.bz2
re PR fortran/46408 ([OOP] Segfault when running gfortran.dg/class_allocate_6.f03)
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/class.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/class_19.f032
4 files changed, 13 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index a3aa49d..0a7edea 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -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.
+
Copyright (C) 2011 Free Software Foundation, Inc.
diff --git a/gcc/fortran/class.c b/gcc/fortran/class.c
index 27c7d23..5b6851b 100644
--- a/gcc/fortran/class.c
+++ b/gcc/fortran/class.c
@@ -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. */
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index defb494..df5ce01 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
diff --git a/gcc/testsuite/gfortran.dg/class_19.f03 b/gcc/testsuite/gfortran.dg/class_19.f03
index 27ee7b4..78e5652 100644
--- a/gcc/testsuite/gfortran.dg/class_19.f03
+++ b/gcc/testsuite/gfortran.dg/class_19.f03
@@ -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" } }