On Thu, 2008-04-03 at 10:26 +0200, Tobias Burnus wrote: > Jerry DeLisle wrote: > > On Tue, 2008-04-01 at 13:47 +0200, Tobias Burnus wrote: > > > >> Jerry DeLisle wrote: > >> > >>> The attached updated patch incorporates all constraints and checks > >>> listed above in the front end. It also implements the DP and DC format > >>> specifiers. > >>> > >> Thanks. Some more issues and remarks. I will try to review the patch later. > >> > > OK, I will work through these. The checks in place now are for EXPR_CONSTANT and not addressing the broader case. > > > > Probably something not yet implemented, but the example from PR 28655 > still fails. (See also references in links in there). > > program iotests > implicit none > character(len=45) :: a > real, parameter :: pi = 3.14159265358979323846 > ! write(*,'(f10.3,s,f10.3,sp,f10.3,ss,f10.3)',SIGN='PLUS') pi, pi, pi, pi > ! write(*,'(f10.3,dc,f10.3,dp,f10.3)',DECIMAL='COMMA') pi, pi, pi > ! write(6,*,delim='quote') 'Hello' > open(99,file='test.dat',form='formatted',status='new') > write(99,'(a)') 'hello' > close(99) > open(99,file="test.dat",form='formatted',status='old', & > PAD='YES',BLANK='NULL',ENCODING='DEFAULT') > read(99,*,PAD='NO',BLANK='NULL') a > close(99) > end program iotests > > > > read(99,*,PAD='NO',BLANK='NULL') a > 1 > Error: BLANK specifier in READ statement at (1) has invalid value 'NULL' > > Which is invalid as 'ZERO' and 'NULL' are allowed. (By the way German > "null" is English "zero", which makes the option a bit funny; "null" > comes from Latin "nullus" none; 'blank'/'zero' would have been better in > my opinion.) > > (However, note: "C912 (R913) A BLANK=, PAD=, END=, EOR=, or SIZE= > specifier shall not appear in a write-stmt.") > > * * * > > For completeness, the following edit descriptors are still unsupported > in the FE / library: ss, sp, s (10.7.4) for sign; ru, rd, rz, rn, rc, rp > for round; bn, bz for blank. (dc and dp for decimal already fully work :-) I have implemented all of this and then sime. BLANK=, SIGN=, FMT= s,ss,sp, dp, dc. The patch is getting too big so i do not want to add any more until we get this in trunk, With that said, I have attached the latest patch and 7 new test cases. Regression tested on x86-64-linux-gnu. I will update the ChangeLog from the original submit. OK for trunk. Jerry