-
- Downloads
fortran/89100: Default widths with -fdec-format-defaults
gcc/fortran ChangeLog: 2019-05-22 Jeff Law <law@redhat.com> Mark Eggleston <mark.eggleston@codethink.com> PR fortran/89100 * gfortran.texi: Add Default widths for F, G and I format descriptors to Extensions section. * invoke.texi: Add -fdec-format-defaults * io.c (check_format): Use default widths for i, f and g when flag_dec_format_defaults is enabled. * lang.opt: Add new option. * options.c (set_dec_flags): Add SET_BITFLAG for flag_dec_format_defaults. gcc/testsuite ChangeLog: 2019-05-22 Mark Eggleston <mark.eggleston@codethink.com> PR fortran/89100 * gfortran.dg/fmt_f_default_field_width_1.f90: New test. * gfortran.dg/fmt_f_default_field_width_2.f90: New test. * gfortran.dg/fmt_f_default_field_width_3.f90: New test. * gfortran.dg/fmt_g_default_field_width_1.f90: New test. * gfortran.dg/fmt_g_default_field_width_2.f90: New test. * gfortran.dg/fmt_g_default_field_width_3.f90: New test. * gfortran.dg/fmt_i_default_field_width_1.f90: New test. * gfortran.dg/fmt_i_default_field_width_2.f90: New test. * gfortran.dg/fmt_i_default_field_width_3.f90: New test. libgfortran ChangeLog: 2019-05-22 Jeff Law <law@redhat.com> PR fortran/89100 * io/format.c (parse_format_list): set default width when the IOPARM_DT_DEC_EXT flag is set for i, f and g. * io/io.h: add default_width_for_integer, default_width_for_float and default_precision_for_float. * io/write.c (write_boz): extra parameter giving length of data corresponding to the type's kind. (write_b): pass data length as extra parameter in calls to write_boz. (write_o): pass data length as extra parameter in calls to write_boz. (write_z): pass data length as extra parameter in calls to write_boz. (size_from_kind): also set size is default width is set. * io/write_float.def (build_float_string): new paramter inserted before result parameter. If default width use values passed instead of the values in fnode. (FORMAT_FLOAT): macro modified to check for default width and calls to build_float_string to pass in default width. (get_float_string): set width and precision to defaults when needed. From-SVN: r271511
Showing
- gcc/fortran/ChangeLog 13 additions, 0 deletionsgcc/fortran/ChangeLog
- gcc/fortran/gfortran.texi 17 additions, 0 deletionsgcc/fortran/gfortran.texi
- gcc/fortran/invoke.texi 15 additions, 10 deletionsgcc/fortran/invoke.texi
- gcc/fortran/io.c 27 additions, 4 deletionsgcc/fortran/io.c
- gcc/fortran/lang.opt 4 additions, 0 deletionsgcc/fortran/lang.opt
- gcc/fortran/options.c 1 addition, 0 deletionsgcc/fortran/options.c
- gcc/testsuite/ChangeLog 13 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/gfortran.dg/fmt_f_default_field_width_1.f90 40 additions, 0 deletionsgcc/testsuite/gfortran.dg/fmt_f_default_field_width_1.f90
- gcc/testsuite/gfortran.dg/fmt_f_default_field_width_2.f90 43 additions, 0 deletionsgcc/testsuite/gfortran.dg/fmt_f_default_field_width_2.f90
- gcc/testsuite/gfortran.dg/fmt_f_default_field_width_3.f90 30 additions, 0 deletionsgcc/testsuite/gfortran.dg/fmt_f_default_field_width_3.f90
- gcc/testsuite/gfortran.dg/fmt_g_default_field_width_1.f90 45 additions, 0 deletionsgcc/testsuite/gfortran.dg/fmt_g_default_field_width_1.f90
- gcc/testsuite/gfortran.dg/fmt_g_default_field_width_2.f90 48 additions, 0 deletionsgcc/testsuite/gfortran.dg/fmt_g_default_field_width_2.f90
- gcc/testsuite/gfortran.dg/fmt_g_default_field_width_3.f90 33 additions, 0 deletionsgcc/testsuite/gfortran.dg/fmt_g_default_field_width_3.f90
- gcc/testsuite/gfortran.dg/fmt_i_default_field_width_1.f90 40 additions, 0 deletionsgcc/testsuite/gfortran.dg/fmt_i_default_field_width_1.f90
- gcc/testsuite/gfortran.dg/fmt_i_default_field_width_2.f90 44 additions, 0 deletionsgcc/testsuite/gfortran.dg/fmt_i_default_field_width_2.f90
- gcc/testsuite/gfortran.dg/fmt_i_default_field_width_3.f90 37 additions, 0 deletionsgcc/testsuite/gfortran.dg/fmt_i_default_field_width_3.f90
- libgfortran/ChangeLog 24 additions, 0 deletionslibgfortran/ChangeLog
- libgfortran/io/format.c 35 additions, 0 deletionslibgfortran/io/format.c
- libgfortran/io/io.h 50 additions, 0 deletionslibgfortran/io/io.h
- libgfortran/io/read.c 6 additions, 0 deletionslibgfortran/io/read.c
Loading
Please register or sign in to comment