From: Paul Thomas Date: Sun, 18 Sep 2005 15:58:58 +0000 (+0000) Subject: re PR fortran/19181 (ICE and segmentation fault with pointer member in user defined... X-Git-Tag: misc/cutover-cvs2svn~567 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=30bf3b40e6ecbfcdd67518a7cf8b8bf9b2fb18c1;p=thirdparty%2Fgcc.git re PR fortran/19181 (ICE and segmentation fault with pointer member in user defined type) 2005-09-18 Paul Thomas PR fortran/19181 * gfortran.dg/derived_pointer_null_1.f90: New test. From-SVN: r104403 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b02eaa619a29..ee977a6afd94 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-09-18 Paul Thomas + + PR fortran/19181 + * gfortran.dg/derived_pointer_null_1.f90: New test. + 2005-09-18 Richard Guenther 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 index 000000000000..3e7673f3bcda --- /dev/null +++ b/gcc/testsuite/gfortran.dg/derived_pointer_null_1.f90 @@ -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 +! + 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 +