aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrooks Moses <brooks.moses@codesourcery.com>2007-05-28 18:30:50 +0000
committerBrooks Moses <brooks@gcc.gnu.org>2007-05-28 11:30:50 -0700
commit0919f6374c061d987cce79bbf29aaf2e094fa135 (patch)
tree7242462482f765eb00783d2dd6d615b09d2d62f2
parent20585ad66ab2455771dc13704f5a0c0f94de8ead (diff)
downloadgcc-0919f6374c061d987cce79bbf29aaf2e094fa135.zip
gcc-0919f6374c061d987cce79bbf29aaf2e094fa135.tar.gz
gcc-0919f6374c061d987cce79bbf29aaf2e094fa135.tar.bz2
* gfortran.dg/transfer_simplify_4.f90: New test.
From-SVN: r125136
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gfortran.dg/transfer_simplify_4.f9030
2 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 710c62c..994dd10 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
index 0000000..3145934
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/transfer_simplify_4.f90
@@ -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