diff options
author | Paul Thomas <pault@gcc.gnu.org> | 2007-04-13 16:01:36 +0000 |
---|---|---|
committer | Paul Thomas <pault@gcc.gnu.org> | 2007-04-13 16:01:36 +0000 |
commit | d6a7a3be7489a8a89f352cc787fa6dbbe73ba85a (patch) | |
tree | 7a40dd5e9cd1696ff750cbbedd9e56dddec6c1b1 /gcc/fortran | |
parent | 0615f92345112bf405492e83c49273f4956e6df2 (diff) | |
download | gcc-d6a7a3be7489a8a89f352cc787fa6dbbe73ba85a.zip gcc-d6a7a3be7489a8a89f352cc787fa6dbbe73ba85a.tar.gz gcc-d6a7a3be7489a8a89f352cc787fa6dbbe73ba85a.tar.bz2 |
re PR fortran/31550 (f951: segfault in fold-const.c:1963)
2007-04-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31550
* trans-types.c (copy_dt_decls_ifequal): Do not get pointer
derived type components.
2007-04-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31550
* gfortran.dg/used_types_16.f90: New test.
From-SVN: r123791
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/trans-types.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 3079268..df60120 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2007-04-13 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/31550
+ * trans-types.c (copy_dt_decls_ifequal): Do not get pointer
+ derived type components.
+
2007-04-13 Tobias Schlüter <tobi@gcc.gnu.org> PR fortran/18937 diff --git a/gcc/fortran/trans-types.c b/gcc/fortran/trans-types.c index 24a3f3c..1462f33 100644 --- a/gcc/fortran/trans-types.c +++ b/gcc/fortran/trans-types.c @@ -1446,7 +1446,7 @@ copy_dt_decls_ifequal (gfc_symbol *from, gfc_symbol *to) for (; to_cm; to_cm = to_cm->next, from_cm = from_cm->next) { to_cm->backend_decl = from_cm->backend_decl; - if (from_cm->ts.type == BT_DERIVED) + if (!from_cm->pointer && from_cm->ts.type == BT_DERIVED) gfc_get_derived_type (to_cm->ts.derived); else if (from_cm->ts.type == BT_CHARACTER) |