aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2012-01-31 19:38:43 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2012-01-31 19:38:43 +0100
commit0b73eb812e8455701ef3044839f6de2ee895b15b (patch)
tree0408b5a684895f95331349727330564133a2d3ca /gcc/fortran
parent2419ff64b9d80647a79da9a6ae40e36e8206d4a2 (diff)
downloadgcc-0b73eb812e8455701ef3044839f6de2ee895b15b.zip
gcc-0b73eb812e8455701ef3044839f6de2ee895b15b.tar.gz
gcc-0b73eb812e8455701ef3044839f6de2ee895b15b.tar.bz2
re PR fortran/52029 ([OOP] _copy should be PURE)
2012-01-31 Tobias Burnus <burnus@net-b.de> PR fortran/52029 * class.c (gfc_find_derived_vtab): Mark _copy function as pure. 2012-01-31 Tobias Burnus <burnus@net-b.de> PR fortran/52029 * gfortran.dg/class_49.f90: New. From-SVN: r183770
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/class.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index b39e037..a0397cc 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,5 +1,10 @@
2012-01-31 Tobias Burnus <burnus@net-b.de>
+ PR fortran/52029
+ * class.c (gfc_find_derived_vtab): Mark _copy function as pure.
+
+2012-01-31 Tobias Burnus <burnus@net-b.de>
+
PR fortran/52013
* class.c (get_unique_hashed_string): Adapt trim length.
(gfc_build_class_symbol) Encode also corank in the container name.
diff --git a/gcc/fortran/class.c b/gcc/fortran/class.c
index 3ff6a0b..0d47979 100644
--- a/gcc/fortran/class.c
+++ b/gcc/fortran/class.c
@@ -717,6 +717,7 @@ gfc_find_derived_vtab (gfc_symbol *derived)
sub_ns->proc_name = copy;
copy->attr.flavor = FL_PROCEDURE;
copy->attr.subroutine = 1;
+ copy->attr.pure = 1;
copy->attr.if_source = IFSRC_DECL;
/* This is elemental so that arrays are automatically
treated correctly by the scalarizer. */