aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2010-06-22 19:07:06 +0200
committerJanus Weil <janus@gcc.gnu.org>2010-06-22 19:07:06 +0200
commit5cd2f8152d6741a4c793e0c7340470ca71009bfb (patch)
treed5318ee0e3c06f0a8b81e0d2c1bea008dd4bf521 /gcc/fortran/resolve.c
parentb074e7833ba9c3ff29f71892c5a0b254972eef31 (diff)
downloadgcc-5cd2f8152d6741a4c793e0c7340470ca71009bfb.zip
gcc-5cd2f8152d6741a4c793e0c7340470ca71009bfb.tar.gz
gcc-5cd2f8152d6741a4c793e0c7340470ca71009bfb.tar.bz2
re PR fortran/44616 ([OOP] ICE if CLASS(foo) is used before its definition)
2010-06-22 Janus Weil <janus@gcc.gnu.org> PR fortran/44616 * resolve.c (resolve_fl_derived): Avoid checking for abstract on class containers. 2010-06-22 Janus Weil <janus@gcc.gnu.org> PR fortran/44616 * gfortran.dg/abstract_type_8.f03: New. From-SVN: r161208
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r--gcc/fortran/resolve.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 20def44..96b3e8d 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -11144,6 +11144,7 @@ resolve_fl_derived (gfc_symbol *sym)
/* If this is a non-ABSTRACT type extending an ABSTRACT one, ensure that
all DEFERRED bindings are overridden. */
if (super_type && super_type->attr.abstract && !sym->attr.abstract
+ && !sym->attr.is_class
&& ensure_not_abstract (sym, super_type) == FAILURE)
return FAILURE;