re PR fortran/46818 (ICE on pointer assignment (-fwhole-file))
authorPaul Thomas <pault@gcc.gnu.org>
Sun, 20 Feb 2011 17:00:47 +0000 (17:00 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Sun, 20 Feb 2011 17:00:47 +0000 (17:00 +0000)
2011-02-20  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/46818
* gfortran.dg/whole_file_30.f90 : New test.
* gfortran.dg/whole_file_31.f90 : New test.

From-SVN: r170338

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

index 077200e47bb9584016e3f09748b2a2f24ef96f63..51f26e9f26cde948a24f01be47b3fbcf1e315fc5 100644 (file)
@@ -1,3 +1,9 @@
+2011-02-20  Paul Thomas  <pault@gcc.gnu.org>
+
+       PR fortran/46818
+       * gfortran.dg/whole_file_30.f90 : New test.
+       * gfortran.dg/whole_file_31.f90 : New test.
+
 2011-02-20  Paul Thomas  <pault@gcc.gnu.org>
 
        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 (file)
index 0000000..813ca06
--- /dev/null
@@ -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  <m.a.hulsen@tue.nl>
+! and reduced by Tobias Burnus  <burnus@gcc.gnu.org>
+!
+! ============== 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 (file)
index 0000000..7ef0b9f
--- /dev/null
@@ -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  <m.a.hulsen@tue.nl>
+! and reduced by Tobias Burnus  <burnus@gcc.gnu.org>
+!
+! ========== 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" } }