2005-09-18 Paul Thomas <pault@gcc.gnu.org>
authorpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 18 Sep 2005 15:58:58 +0000 (15:58 +0000)
committerpault <pault@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 18 Sep 2005 15:58:58 +0000 (15:58 +0000)
PR fortran/19181
* gfortran.dg/derived_pointer_null_1.f90: New test.

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

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

index b02eaa6..ee977a6 100644 (file)
@@ -1,3 +1,8 @@
+2005-09-18  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/19181
+       * gfortran.dg/derived_pointer_null_1.f90: New test.
+
 2005-09-18  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/23944
diff --git a/gcc/testsuite/gfortran.dg/derived_pointer_null_1.f90 b/gcc/testsuite/gfortran.dg/derived_pointer_null_1.f90
new file mode 100644 (file)
index 0000000..3e7673f
--- /dev/null
@@ -0,0 +1,32 @@
+! { dg-do compile }
+! { dg-options "-std=gnu" }
+!
+! Test of fix (patch unknown) for pr19181 and pr21300. This test is based
+! on the example given in 21300.  Note that this can be executed.
+!
+! Contributed by Paul Thomas  <pault@gnu.org>
+!
+  TYPE ast_obs
+    real, DIMENSION(:), POINTER :: geopos
+  END TYPE ast_obs
+
+  TYPE(ast_obs), PARAMETER    :: undefined_ast_obs = AST_OBS(NULL())
+  type(ast_obs)               :: my_ast_obs
+  real, target, dimension(10) :: rt
+
+  my_ast_obs%geopos => rt
+  if (.not.associated (my_ast_obs%geopos)) call abort ()
+
+  call get_null_ast_obs (my_ast_obs)
+  if (associated (my_ast_obs%geopos)) call abort ()
+
+CONTAINS
+
+  SUBROUTINE get_null_ast_obs (obs1)
+    TYPE(ast_obs)  :: obs1
+    obs1 = undefined_ast_obs
+    RETURN
+  END SUBROUTINE get_null_ast_obs
+
+END
+