------- Comment #16 from kargl at gcc dot gnu dot org 2009-12-06 01:16 ------- (In reply to comment #15) > (In reply to comment #14) > > > According to a note I spotted on clf , reading and writing reals with BOZ > > > is > > > invalid, so what we are doing here is an extension. > > Do you have a pointer? > > I have the following: > > "10.6.1 Numeric editing" > "The I, B, O, Z, F, E, EN, ES, D, and G edit descriptors may be used to > specify > the input/output of integer, real, and complex data." > [...] > "(6) On output, with I, B, O, Z, and F editing, the specified value of the > field width w may be zero. In such cases, the processor selects the smallest > positive actual field width that does not result in a field filled with > asterisks. The specified value of w shall not be zero on input." > > Thus it looks valid also for non-integers. However, going on one finds that > the > B, O, & Z edit descriptors are only mentioned in "10.6.1.1 Integer editing" > whereas "10.6.1.2 Real and complex editing" starts with "The F, E, EN, ES, and > D edit descriptors specify the editing of real and complex data. [...] The G > edit descriptor also may be used to edit real and complex data." > > Thus, combining the two, using BOZ edit descriptors is invalid in F95/F2003. >
I disagree with your conclusion that this is invalid. :-) 10.6.1 explicitly says that the BOZ descriptors may be used for real and complex. Yes, I understand that 10.6.1.2 does not specify the BOZ details for real and complex; but, and is a big but, it does not explicitly disallow BOZ descriptors. Probably, time to submit an interpretation request. I won't have time until Sunday to pursue this. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41711