http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48852
Summary: Invalid spaces in list-directed output of complex constants Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libfortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: thenl...@users.sourceforge.net There are invalid spaces in complex constants in list-directed output: print *, (1.0, 0.0) ! " ( 1.00000000 , 0.00000000 )" expected " (1.00000000,0.00000000)" Fortran 2003/2008: "Real constants are produced with the effect of either an F edit descriptor or an E edit descriptor, depending on the magnitude x of the value and a range 10^d1 <= x < 10^d2, where d1 and d2 are processor-dependent integers. If the magnitude x is within this range or is zero, the constant is produced using 0PFw.d; otherwise, 1PEw.d Ee is used. Complex constants are enclosed in parentheses with a separator between the real and imaginary parts, each produced as defined above for real constants. The separator is a comma if the decimal edit mode is POINT; it is a semicolon if the decimal edit mode is COMMA. The end of a record may occur between the separator and the imaginary part only if the entire constant is as long as, or longer than, an entire record. The only embedded blanks permitted within a complex constant are between the separator and the end of a record and one blank at the beginning of the next record." Part of the problem is caused by GFortran using Gw.dEe editing instead of the Fw.d editing required by the standard (i.e. appending the n blanks at the end). This is a waste of space for real constants and an outright bug for complex constant.