]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* gfortran.dg/transfer_simplify_4.f90: New test.
authorBrooks Moses <brooks.moses@codesourcery.com>
Mon, 28 May 2007 18:30:50 +0000 (18:30 +0000)
committerBrooks Moses <brooks@gcc.gnu.org>
Mon, 28 May 2007 18:30:50 +0000 (11:30 -0700)
From-SVN: r125136

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

index 710c62c5fdab0aedb727936ff5b4b259c5f9dd3e..994dd10ca0199de1cb187cdcaeeb5d08451c759d 100644 (file)
@@ -1,3 +1,7 @@
+2007-05-28  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * gfortran.dg/transfer_simplify_3.f90: New test.
+
 2007-05-27  Tobias Burnus  <burnus@net-b.de>
 
        PR fortran/32088
diff --git a/gcc/testsuite/gfortran.dg/transfer_simplify_4.f90 b/gcc/testsuite/gfortran.dg/transfer_simplify_4.f90
new file mode 100644 (file)
index 0000000..3145934
--- /dev/null
@@ -0,0 +1,30 @@
+! { dg-do run }
+! { dg-options "-O0" }
+! Tests that the in-memory representation of a transferred variable
+! propagates properly.
+!
+  implicit none
+
+  integer, parameter :: ip1 = 42
+  logical, parameter :: ap1 = transfer(ip1, .true.)
+  integer, parameter :: ip2 = transfer(ap1, 0)
+
+  logical :: a
+  integer :: i
+  
+  i = transfer(transfer(ip1, .true.), 0)
+  if (i .ne. ip1) call abort ()
+
+  i = transfer(ap1, 0)
+  if (i .ne. ip1) call abort ()
+  
+  a = transfer(ip1, .true.)
+  i = transfer(a, 0)
+  if (i .ne. ip1) call abort ()
+
+  i = ip1
+  a = transfer(i, .true.)
+  i = transfer(a, 0)
+  if (i .ne. ip1) call abort ()
+
+end