2007-10-04 H.J. Lu <hongjiu.lu@intel.com>
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Oct 2007 15:39:11 +0000 (15:39 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Oct 2007 15:39:11 +0000 (15:39 +0000)
PR fortran/33646
* gfortran.dg/pr33646.f90: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129015 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/pr33646.f90 [new file with mode: 0644]

index 6e5dba0..3e92147 100644 (file)
@@ -1,3 +1,8 @@
+2007-10-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR fortran/33646
+       * gfortran.dg/pr33646.f90: New file.
+
 2007-10-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
        PR fortran/33529
diff --git a/gcc/testsuite/gfortran.dg/pr33646.f90 b/gcc/testsuite/gfortran.dg/pr33646.f90
new file mode 100644 (file)
index 0000000..13f65cb
--- /dev/null
@@ -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" } }