------- Comment #4 from burnus at gcc dot gnu dot org 2010-03-12 12:31 ------- Actually, in list_read.c's parse_real gfortran already handles inf(inity) and nan (_but_ _not _"nan(string)"). Thus, using 'read(*,*) a' works.
* * * The TODO quote from comment 2 is for read.c's "convert_real"; however, as this only calls strto(d,f,ld), I do not see a problem on POSIX/C99 systems. I think the actual problem is read.c's "read_f" which cannot parse NaN/INF and gives a "goto bad" error. I think one should do something similar to list_read.c's parse_real. For completeness, the strtod, strtof, strtold of C99/POSIX supports: * One of INF or INFINITY, ignoring case * One of NAN or NAN(n-char-sequence_opt), ignoring case in the NAN part, where: n-char-sequence: digit nondigit n-char-sequence digit n-char-sequence nondigit -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43298