diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/array_constructor_34.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/array_constructor_34.f90 | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/array_constructor_34.f90 b/gcc/testsuite/gfortran.dg/array_constructor_34.f90 new file mode 100644 index 000000000..1a0931a3f --- /dev/null +++ b/gcc/testsuite/gfortran.dg/array_constructor_34.f90 @@ -0,0 +1,27 @@ +! { dg-do compile } +! PR32489 Endless loop when compiling. +! Derived from fft257.f90, Public domain 2004 James Van Buskirk. +! Note: The problem solved here was not an infinite loop issue. Middle-end +! could not handle the array constructor unfolded by the front end. +! WARNING: Potential resource hog. +! Jerry DeLisle <jvdelisle@gcc.gnu.org> +program test + implicit none + integer, parameter :: dp = selected_real_kind(15,300) + integer, parameter :: N = 257 + complex(dp) h1(0:N-1) + complex(dp) h2(0:N-1) + complex(dp) hh(0:N-1) + complex(dp), parameter :: ri(2) = (/(1,0),(0,1)/) + integer i, j, k, L + real(dp) pi + + pi = 4*atan(1.0_dp) + do i = 0, N-1 + do j = 1, 2 + h2 = 0 + h2(i) = ri(j) + h1 = (/(sum((/(exp(-2*pi*(0,1)*mod(k*L,N)/N)*h2(L),L=0,N-1)/)),k=0,N-1)/) + end do + end do +end program test |