PR 90374 d0.d, e0.d, es0.d, en0.d, g0.d and ew.d edit descriptors.
authorJerry DeLisle <jvdelisle@gcc.gnu.org>
Thu, 2 Jan 2020 00:57:31 +0000 (00:57 +0000)
committerJerry DeLisle <jvdelisle@gcc.gnu.org>
Thu, 2 Jan 2020 00:57:31 +0000 (00:57 +0000)
commit2b70275ee1b0de038324280276a9edebcaa93d90
treea506e71b83bed14cc440edf8ef11d427af41d8c6
parenta7ff7c725076d1ad01f36404286e73d5069e9aab
PR 90374 d0.d, e0.d, es0.d, en0.d, g0.d and ew.d edit descriptors.

        PR libfortran/90274
        * io/format.c (parse_format_list): Implement the E0 exponent
        width to provide smallest possible width for exponent fields.
        Refactor code for correct parsing and better readability of the
        code.
        * io/io.h (write_real_w0): Change interface to pass in pointer
        to fnode.
        * io/transfer.c: Update all calls to write_real_w0 to use the
        new interface.
        * io/write.c ((write_real_w0): Use the new interface with fnode
        to access both the decimal precision and exponent widths used in
        build_float_string.
        * io/write_float.def (build_float_string): Use the passed in
        exponent width to calculate the used width in the case of E0.

From-SVN: r279828
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/fmt_zero_width.f90
libgfortran/ChangeLog
libgfortran/io/format.c
libgfortran/io/io.h
libgfortran/io/transfer.c
libgfortran/io/write.c
libgfortran/io/write_float.def