------- Comment #22 from jvdelisle at gcc dot gnu dot org 2007-12-12 04:34 ------- Reply to comment #20:
It does not matter since we translate all variable names to lower case. It would matter if we used this mechanism to read literal string constants, but we don't. I will look that over a bit more before we are all done with this. I am looking at using l_push_char here instead of save. Tobias. do as you please. We can either revert the original patch and get back to this without time pressure or proceed quickly. I would prefer to use the l_push mechanism to reduce duplicative code, but if we do use l_push we have to approach the matching differently. With the current patch I am now concerned about hitting EOL or EOF conditions, since we do not test the character after each read. For example: IMPLICIT NONE real , DIMENSION(11) ::foo real :: isfflx NAMELIST /nl/ foo NAMELIST /nl/ isfflx open (10, status="scratch") write (10,*) " &nl" write (10,*) " foo = 5, 5, 5," write (10,*) " isfflx = infin/" rewind (10) READ (10, NML = nl, ERR = 9200) CLOSE (10) STOP 9200 CALL abort () END I think this will give an error, but have not had time to check. Reply to comment #21, we do need to fix parse_real since it is used to read_complex. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34427