http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47007
--- Comment #5 from Tobias Burnus <burnus at gcc dot gnu.org> 2010-12-19 11:35:14 UTC --- (In reply to comment #4) > The standard says namelist IO will > use whatever current decimal separator is. If locale sets > the default to ',', then that is what should be used unless > explicitly set by the user. I disagree: The standard says for the OPEN statement ("9.5.6.7 DECIMAL= specifier in the OPEN statement", quote of F2008): "If this specifier is omitted in an OPEN statement that initiates a connection, the default value is POINT." Thus, for unit-based I/O the answer is clear: A decimal POINT shall be used by default - independent of the LOCALE setting. For internal I/O: "The initial value of a connection mode (9.5.2) is the value that would be implied by an initial OPEN statement without the corresponding keyword." -- Thus, DECIMAL="POINT" is the default (which can be overridden by the "DECIMAL=" specifier in the data transfer statement - or [if a format specification is used] by the "dp"/"dc" edit descriptors).