From: Tobias Burnus Date: Wed, 25 Jan 2012 22:21:14 +0000 (+0100) Subject: re PR fortran/51995 ([OOP] Polymorphic class fails at runtime) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5cfa7039f35da1d11e0921da5268e185b11e63e5;p=gcc.git re PR fortran/51995 ([OOP] Polymorphic class fails at runtime) 2012-01-25 Tobias Burnus PR fortran/51995 * class.c (gfc_build_class_symbol): Fix invalid freeing issue with fclass->f2k_derived. From-SVN: r183541 --- diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index b6adf238232..1e0fa2fa12a 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2012-01-25 Tobias Burnus + + PR fortran/51995 + * class.c (gfc_build_class_symbol): Fix invalid freeing + issue with fclass->f2k_derived. + 2012-01-25 Tobias Burnus PR fortran/51995 diff --git a/gcc/fortran/class.c b/gcc/fortran/class.c index 92cfef76d6c..52c5a61047f 100644 --- a/gcc/fortran/class.c +++ b/gcc/fortran/class.c @@ -422,7 +422,7 @@ gfc_build_class_symbol (gfc_typespec *ts, symbol_attribute *attr, c->attr.pointer = 1; } else if (!fclass->f2k_derived) - fclass->f2k_derived = fclass->components->ts.u.derived->f2k_derived; + fclass->f2k_derived = gfc_get_namespace (NULL, 0); /* Since the extension field is 8 bit wide, we can only have up to 255 extension levels. */