From 4679504c63fdc21e4c8580c6057ff55de41975b4 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Thu, 24 Apr 2008 06:53:47 +0200 Subject: re PR rtl-optimization/36006 (invalid rtl sharing with -O2) PR rtl-optimization/36006 * expmed.c (store_fixed_bit_field): Copy op0 rtx before moving temp to op0 in order to avoid invalid rtx sharing. testsuite/ChangeLog: PR rtl-optimization/36006 * gfortran.dg/pr36006-1.f90: New test. * gfortran.dg/pr36006-2.f90: Ditto. From-SVN: r134618 --- gcc/testsuite/gfortran.dg/pr36006-1.f90 | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 gcc/testsuite/gfortran.dg/pr36006-1.f90 (limited to 'gcc/testsuite/gfortran.dg/pr36006-1.f90') diff --git a/gcc/testsuite/gfortran.dg/pr36006-1.f90 b/gcc/testsuite/gfortran.dg/pr36006-1.f90 new file mode 100644 index 0000000..ad33d94 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr36006-1.f90 @@ -0,0 +1,23 @@ +! { dg-do compile } +! +subroutine test4 + integer, parameter :: wp = 4 + complex(wp), parameter :: i = (0._wp, 1._wp) + complex(wp) :: c(12) + integer :: m, N + + N = 12 + c = (/(exp(i*m),m=1,N)/) + print *, c(1) +end + +subroutine test8 + integer, parameter :: wp = 8 + complex(wp), parameter :: i = (0._wp, 1._wp) + complex(wp) :: c(12) + integer :: m, N + + N = 12 + c = (/(exp(i*m),m=1,N)/) + print *, c(1) +end -- cgit v1.1