pault at gcc dot gnu dot org wrote:
------- Comment #5 from pault at gcc dot gnu dot org 2008-01-13 08:49 -------
(In reply to comment #4)
This is similar to 34432 is some ways. I think we are not matching the (\ \)
correctly. I don't think gfc_match_expr has the tooling for it yet.
The error message is spurious in my opinion. It is left on the stack from a
failed match. As I say above, the problem is in simplification and,
specifically, the simplification of reshape.
I agree there is a failed match. I am reducing the test case until I can get
this to succeed. I have managed to ICE a similar test case. Here:
! Rejects-valid. Fails with gfortran 4.1, 4.2 and 4.3
! For 4.3 the error message is:
!
! (/ linem, nplam /) )
! 1
!Error: Invalid character in name at (1)
!
! Found using the Fortran Company Fortran 90 Test Suite (Lite),
! Version 1.4
program splitprms
integer, parameter :: nplam = 3 ! # of plans to expand TABs
integer, parameter :: linem = 132 ! max. line length
integer, parameter :: ncntm = 39 ! max. # cont. lines
integer, dimension (linem, nplam) :: nxttab
nxttab = &
reshape ( &
(/ max( (/ (6+3*((i-6+3)/3), i= 1,linem), &
(6+2*((i-6+2)/2), i= 1,linem) /), &
(/ (6, i= 1, 2*linem) /) ), &
(/ (i, i= 1,linem) /) /),&
(/ linem, nplam /) )
print *, nxttab
end program splitprms
]$ gfc pr34556.f90
pr34556.f90: In function ‘splitprms’:
pr34556.f90:10: internal compiler error: Intrinsic function (164)