diff options
author | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2010-01-09 19:01:41 +0000 |
---|---|---|
committer | Jerry DeLisle <jvdelisle@gcc.gnu.org> | 2010-01-09 19:01:41 +0000 |
commit | 7a2631f3c621d9b1eec24b54252c3d53d4d63d99 (patch) | |
tree | d959f9902390dae69d7fa73f2a80b699110d5fcb /gcc | |
parent | d5a8d70496b2617db76099153eb9984ca7f66294 (diff) | |
download | gcc-7a2631f3c621d9b1eec24b54252c3d53d4d63d99.zip gcc-7a2631f3c621d9b1eec24b54252c3d53d4d63d99.tar.gz gcc-7a2631f3c621d9b1eec24b54252c3d53d4d63d99.tar.bz2 |
re PR fortran/32489 (Endless loop when compiling - middle-end?)
2010-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/32489
* gfortran.dg/array_constructor_33.f90: New test.
PR fortran/20923
Fix ChangeLog entry.
From-SVN: r155773
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/array_constructor_34.f90 | 27 |
2 files changed, 32 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c2e9144..d69926e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -2,6 +2,11 @@ PR fortran/32489 * gfortran.dg/array_constructor_33.f90: New test. + +2010-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + PR fortran/20923 + * gfortran.dg/array_constructor_33.f90: New test. gfortran.dg/array_function_5.f90: Add credit. 2010-01-09 Alexandre Oliva <aoliva@redhat.com> 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 0000000..1a0931a --- /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 |