From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25164 invoked by alias); 7 Dec 2008 21:35:47 -0000 Received: (qmail 24984 invoked by uid 48); 7 Dec 2008 21:34:26 -0000 Date: Sun, 07 Dec 2008 21:35:00 -0000 Subject: [Bug fortran/38439] New: I/O PD edit descriptor inconsistency X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "burnus at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2008-12/txt/msg00705.txt.bz2 Found at http://groups.google.com/group/comp.lang.fortran/browse_thread/thread/2fc107eda65d9065 The following code WRITE (*,'(1PD24.15E4)') 1.0d0 end is rejected in gfortran 4.2 to 4.4 with: Error: Period required in format specifier at (1) (and ifort, NAG f95 and g95 also reject it). It is accepted with openf95, sunf95 and gfortran 4.1 [the latter with a warning matching the error message above], and it is said to be accepted with g77. The compiled programs then prints: 1.000000000000000D+0000 (note the "D") Using the run-time version of the format string, i.e. character(len=25) :: str str = '(1PD24.15E4)' WRITE (*,str) 1.0d0 end it works with gfortran (4.1 to 4.4) and with g95. The PD edit descriptor was always invalid according to the Fortran standard, using '(1PE24.15E4)' works with all compilers and is valid (but it prints "...E+0000" not "D"). The question is now whether a) One accepts it with, e.g., -std=legacy. (The error message should then point to the -std=legacy option) -- or -- b) One checks whether on can get rid of the "D" support in libgfortran to save some microseconds; libgfortran should then also print a run-time error message. -- Summary: I/O PD edit descriptor inconsistency Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38439