From d17cd69f66c1c0cb10074efa10252deea1ad260e Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Thu, 4 Oct 2007 15:39:11 +0000 Subject: [PATCH] re PR fortran/33646 (Gcc 4.3 revision 128954 failed tonto in SPEC CPU 2006) 2007-10-04 H.J. Lu PR fortran/33646 * gfortran.dg/pr33646.f90: New file. From-SVN: r129015 --- gcc/testsuite/ChangeLog | 5 +++ gcc/testsuite/gfortran.dg/pr33646.f90 | 59 +++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 gcc/testsuite/gfortran.dg/pr33646.f90 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 6e5dba07d78..3e921470bbf 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-10-04 H.J. Lu + + PR fortran/33646 + * gfortran.dg/pr33646.f90: New file. + 2007-10-04 Francois-Xavier Coudert PR fortran/33529 diff --git a/gcc/testsuite/gfortran.dg/pr33646.f90 b/gcc/testsuite/gfortran.dg/pr33646.f90 new file mode 100644 index 00000000000..13f65cb06a5 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr33646.f90 @@ -0,0 +1,59 @@ +! { dg-do compile } +! PR fortran/33646 +! +! + +module BAR_MODULE + implicit none + private + public create_ + interface create_ + module procedure create + end interface + type system_type + integer(kind=kind(1)) :: max_memory_used + end type + +contains + + subroutine create(self) + type(system_type) :: self + pointer :: self + allocate(self) + end subroutine + +end + +module FOO_MODULE + use BAR_MODULE + implicit none + private + public create_ + interface create_ + module procedure create + end interface + + public create_copy_ + interface create_copy_ + module procedure create_copy + end interface +contains + + subroutine create(self) + character(*) :: self + pointer :: self + nullify(self) + allocate(self) + + self = " " + end subroutine + + subroutine create_copy(self,s) + character(*) :: self + pointer :: self + character(*) :: s + call create_(self) + end subroutine +end + +! { dg-final { cleanup-modules "BAR_MODULE FOO_MODULE" } }