diff options
author | Janus Weil <janus@gcc.gnu.org> | 2009-04-25 10:11:48 +0200 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2009-04-25 10:11:48 +0200 |
commit | bc2a4733e2715627ca95a1bccda96a9c2be30ea5 (patch) | |
tree | 1a92e2781232f510b0f32235c4aa3a356875f640 /gcc/testsuite | |
parent | a3a5e3d16c61f3bb52e0dd0ab4b639ccd3cf9d3f (diff) | |
download | gcc-bc2a4733e2715627ca95a1bccda96a9c2be30ea5.zip gcc-bc2a4733e2715627ca95a1bccda96a9c2be30ea5.tar.gz gcc-bc2a4733e2715627ca95a1bccda96a9c2be30ea5.tar.bz2 |
re PR fortran/39688 (IMPORT of derived type fails)
2009-04-25 Janus Weil <janus@gcc.gnu.org>
PR fortran/39688
* decl.c (gfc_match_import): Use 'sym->name' instead of 'name'.
They differ if the symbol has been use-renamed.
2009-04-25 Janus Weil <janus@gcc.gnu.org>
PR fortran/39688
* gfortran.dg/import7.f90: New.
From-SVN: r146762
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/import7.f90 | 58 |
2 files changed, 63 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 654c5e8..af9f6bc 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-04-25 Janus Weil <janus@gcc.gnu.org> + + PR fortran/39688 + * gfortran.dg/import7.f90: New. + 2009-04-24 Richard Guenther <rguenther@suse.de> * gcc.dg/tree-ssa/vrp48.c: Fix. diff --git a/gcc/testsuite/gfortran.dg/import7.f90 b/gcc/testsuite/gfortran.dg/import7.f90 new file mode 100644 index 0000000..c115cc3 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/import7.f90 @@ -0,0 +1,58 @@ +! { dg-do compile } +! +! PR39688: IMPORT of derived type fails +! +! Contributed by Bob Corbett <robert.corbett@sun.com> + + MODULE MOD + TYPE T1 + SEQUENCE + TYPE(T2), POINTER :: P + END TYPE + TYPE T2 + SEQUENCE + INTEGER I + END TYPE + END + + PROGRAM MAIN + USE MOD, T3 => T1, T4 => T2 + TYPE T1 + SEQUENCE + TYPE(T2), POINTER :: P + END TYPE + INTERFACE SUBR + SUBROUTINE SUBR1(X) + IMPORT T3 + TYPE(T3) X + END SUBROUTINE + SUBROUTINE SUBR2(X) + IMPORT T1 + TYPE(T1) X + END SUBROUTINE + END INTERFACE + TYPE T2 + SEQUENCE + REAL X + END TYPE + END + + SUBROUTINE SUBR1(X) + USE MOD + TYPE(T1) X + END + + SUBROUTINE SUBR2(X) + TYPE T1 + SEQUENCE + TYPE(T2), POINTER :: P + END TYPE + TYPE T2 + SEQUENCE + REAL X + END TYPE + TYPE(T1) X + END + +! { dg-final { cleanup-modules "mod" } } + |