http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56026

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
                 CC|                            |burnus at gcc dot gnu.org
         Resolution|                            |INVALID

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2013-01-18 
10:45:14 UTC ---
Close as INVALID.


(In reply to comment #0)
> For 3 digit exponent 'E' is lost:
>    print '(ES18.7)', HUGE(1.0d0)
>    print '(E18.10)', HUGE(1.0d0)

Try: E18.10e3


> $ ./a.out
>    1.7976931+308
>    0.1797693135+309

Fortran 2008 has ( http://gcc.gnu.org/wiki/GFortranStandards#Fortran_2008 ):

R1007  data-edit-desc  is  ...
                       or  E w . d [ E e ]
                       or  EN w . d [ E e ]
                       or  ES w . d [ E e ]
                       or  G w [ . d [ E e ] ]
R1011  e  is  int-literal-constant
C1005 (R1011)  e shall be positive.
C1008 (R1007)  For the G edit descriptor, e shall not be specied if w is zero.


How the exponent is handled is stated in "Table 10.1: E and D exponent forms":

   Edit         Absolute        Value Form of
   Descriptor   of Exponent     Exponent(1)
   Ew.d         |exp| <= 99     E±zz or ±0zz
                |exp| <= 999    ±zzz
   ...
   (1) where each z is a digit.


Thus, the Fortran standard doesn't allow any other output for your edit
descriptors.

Reply via email to