------- Comment #2 from kargl at gcc dot gnu dot org  2008-12-11 20:17 -------
For some reason, init_flag in gfc_match_iterator is set to zero.
So when the matcher hits

  m = init_flag ? gfc_match_init_expr (&e1) : gfc_match_expr (&e1);

gfc_match_expr() is executed instead of gfc_match_init_expr().
By forcibly set init_flag=1 in gdb, gfortran then generates

% gfc4x -c pr35778.f90
pr35779.f90:2.43:

  integer,PARAMETER :: I2(10) = (/ (J1, J1=its_bad,1,-1) /)
                                          1
Error: Parameter 'its_bad' at (1) has not been declared or is a variable,
which does not reduce to a constant expression

Still hunting for a place to properly set init_flag.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35779

Reply via email to