aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2010-09-02 14:34:26 +0200
committerJanus Weil <janus@gcc.gnu.org>2010-09-02 14:34:26 +0200
commitc330d181bc98bc7efde028f7eb8ead33f69e6304 (patch)
tree28f18a612377289619fe1759fdad8db3526042b9 /gcc
parent2d2bd949ea0425891c8504b44965cbb4b6ccce5f (diff)
downloadgcc-c330d181bc98bc7efde028f7eb8ead33f69e6304.zip
gcc-c330d181bc98bc7efde028f7eb8ead33f69e6304.tar.gz
gcc-c330d181bc98bc7efde028f7eb8ead33f69e6304.tar.bz2
re PR fortran/44541 ([OOP] wrong code for polymorphic variable with INTENT(OUT)/Alloc w/ MOLD)
2010-09-02 Janus Weil <janus@gcc.gnu.org> PR fortran/44541 * resolve.c (resolve_symbol): Correct check for attributes of CLASS variable. From-SVN: r163773
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/resolve.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index fb1fa4d..05f9415 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2010-09-02 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/44541
+ * resolve.c (resolve_symbol): Correct check for attributes of CLASS
+ variable.
+
2010-09-02 Tobias Burnus <burnus@net-b.de>
PR fortran/45489
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 26175e4..6b922a0 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -12166,7 +12166,8 @@ resolve_symbol (gfc_symbol *sym)
if (sym->ts.type == BT_CLASS && sym->ns == gfc_current_ns
&& sym->attr.dummy && sym->attr.intent == INTENT_OUT
- && !sym->attr.pointer && !sym->attr.allocatable)
+ && !CLASS_DATA (sym)->attr.class_pointer
+ && !CLASS_DATA (sym)->attr.allocatable)
apply_default_init (sym);
/* If this symbol has a type-spec, check it. */