summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/assign_9.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/assign_9.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/assign_9.f9014
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/assign_9.f90 b/gcc/testsuite/gfortran.dg/assign_9.f90
new file mode 100644
index 000000000..2c2337ec0
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/assign_9.f90
@@ -0,0 +1,14 @@
+! { dg-do run }
+! Tests the fix for PR33749, in which one of the two assignments
+! below would not produce a temporary for the index expression.
+!
+! Contributed by Dick Hendrickson on comp.lang.fortran,
+! " Most elegant syntax for inverting a permutation?" 20071006
+!
+ integer(4) :: p(4) = (/2,4,1,3/)
+ integer(8) :: q(4) = (/2,4,1,3/)
+ p(p) = (/(i, i = 1, 4)/)
+ q(q) = (/(i, i = 1, 4)/)
+ if (any(p .ne. q)) call abort ()
+end
+