https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105473

Jerry DeLisle <jvdelisle2 at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jvdelisle2 at gmail dot com

--- Comment #1 from Jerry DeLisle <jvdelisle2 at gmail dot com> ---
Well, looks like we are allowing as an extension.

$ gfortran -std=f95 pr105473.f90 
pr105473.f90:6:27:

    6 |   read(testinput,*,decimal='point',iostat=ios) n
      |                           1
Error: Fortran 2003: DECIMAL= at (1) not allowed in Fortran 95

If you set n to some value so that it is 'defined' per the standards like this:

! Does list-directed reading an integer allow some non-integer input?
  implicit none
  integer n,ios
  character(1):: testinput = ';'
  n = 999
  print *,'testinput = "',testinput,'"'
  read(testinput,*,decimal='point',iostat=ios) n
  print *,'n=',n,' ios=',ios
  if(ios>0) print *,'testinput was not an integer'
end program

$ gfortran pr105473.f90 
[jerry@amdr pr105473]$ ./a.out 
 testinput = ";"
 n=         999  ios=           0

You will see that nothing is read into n at all.  The list read is just ended.

Reply via email to