]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR fortran/40851 ([4.3/4.4/4.5] problem with deallocation of pointers)
authorTobias Burnus <burnus@net-b.de>
Sun, 23 Aug 2009 16:01:11 +0000 (18:01 +0200)
committerTobias Burnus <burnus@gcc.gnu.org>
Sun, 23 Aug 2009 16:01:11 +0000 (18:01 +0200)
2009-08-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/40851
        * gfortran.dg/derived_init_3.f90: New test.

From-SVN: r151034

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

index 991ca592c551c6b283945f27ab7f68db9acd447e..c9b42c586580495b713ec95590fc647d8c13678a 100644 (file)
@@ -1,3 +1,8 @@
+2009-08-23  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/40851
+       * gfortran.dg/derived_init_3.f90: New test.
+
 2009-08-23  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/40718
        PR fortran/40847
        * gfortran.dg/transfer_resolve_1.f90 : New test.
 
-2009-08-16  Tobias Burnus  <burnus@net-b.de>
-
-       PR fortran/40851
-       * gfortran.dg/derived_init_3.f90: New test.
-
 2009-08-14  Uros Bizjak <ubizjak@gmail.com>
 
        Backport from mainline:
diff --git a/gcc/testsuite/gfortran.dg/derived_init_3.f90 b/gcc/testsuite/gfortran.dg/derived_init_3.f90
new file mode 100644 (file)
index 0000000..a1c4a0c
--- /dev/null
@@ -0,0 +1,34 @@
+! { dg-do run }
+!
+! PR fortran/40851
+!
+! Make sure the an INTENT(OUT) dummy is not initialized
+! when it is a pointer.
+!
+! Contributed by Juergen Reuter <juergen.reuter@desy.de>.
+!
+program main
+
+  type :: string
+     character,dimension(:),allocatable :: chars
+  end type string
+
+  type :: string_container
+     type(string) :: string
+  end type string_container
+
+  type(string_container), target :: tgt
+  type(string_container), pointer :: ptr
+
+  ptr => tgt
+  call set_ptr (ptr)
+  if (associated(ptr)) call abort()
+
+contains
+
+  subroutine set_ptr (ptr)
+    type(string_container), pointer, intent(out) :: ptr
+    ptr => null ()
+  end subroutine set_ptr
+
+end program main