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
This commit is contained in:
Jerry DeLisle 2010-01-09 19:01:41 +00:00
parent d5a8d70496
commit 7a2631f3c6
2 changed files with 32 additions and 0 deletions

View File

@ -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>

View File

@ -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