From: Paul Thomas Date: Sun, 20 Feb 2011 17:00:47 +0000 (+0000) Subject: re PR fortran/46818 (ICE on pointer assignment (-fwhole-file)) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6e549dd2e521e4deab694808be9d349aea892418;p=gcc.git re PR fortran/46818 (ICE on pointer assignment (-fwhole-file)) 2011-02-20 Paul Thomas PR fortran/46818 * gfortran.dg/whole_file_30.f90 : New test. * gfortran.dg/whole_file_31.f90 : New test. From-SVN: r170338 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 077200e47bb..51f26e9f26c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2011-02-20 Paul Thomas + + PR fortran/46818 + * gfortran.dg/whole_file_30.f90 : New test. + * gfortran.dg/whole_file_31.f90 : New test. + 2011-02-20 Paul Thomas PR fortran/45077 diff --git a/gcc/testsuite/gfortran.dg/whole_file_30.f90 b/gcc/testsuite/gfortran.dg/whole_file_30.f90 new file mode 100644 index 00000000000..813ca06868d --- /dev/null +++ b/gcc/testsuite/gfortran.dg/whole_file_30.f90 @@ -0,0 +1,15 @@ +! { dg-do compile } +! Test the fix for the problem described in PR46818. +! Note that the module file is kept for whole_file_31.f90 +! +! Contributed by Martien Hulsen +! and reduced by Tobias Burnus +! +! ============== system_defs.f90 ============= +module system_defs_m + type sysvector_t + integer :: probnr = 0 + real, allocatable, dimension(:) :: u + end type sysvector_t +end module system_defs_m +! DO NOT CLEAN UP THE MODULE FILE - whole_file_31.f90 does it. diff --git a/gcc/testsuite/gfortran.dg/whole_file_31.f90 b/gcc/testsuite/gfortran.dg/whole_file_31.f90 new file mode 100644 index 00000000000..7ef0b9f6761 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/whole_file_31.f90 @@ -0,0 +1,21 @@ +! { dg-do compile } +! Test the fix for the problem described in PR46818. +! Note that the module file from whole_file_30.f90, 'system_defs_m', +! is needed for this test. +! +! Contributed by Martien Hulsen +! and reduced by Tobias Burnus +! +! ========== t.f90 =========================== +module convecreac_m + use system_defs_m + type(sysvector_t), pointer :: solution +end module convecreac_m + +program t + use convecreac_m + implicit none + type(sysvector_t), target :: sol + solution => sol +end program t +! { dg-final { cleanup-modules "system_defs_m convecreac_m" } }