1*b1e83836Smrg2020-12-05 Iain Sandoe <iain@sandoe.co.uk> 2*b1e83836Smrg 3*b1e83836Smrg PR target/97865 4*b1e83836Smrg * configure: Regenerate. 5*b1e83836Smrg 6*b1e83836Smrg2020-11-29 John David Anglin <danglin@gcc.gnu.org> 7*b1e83836Smrg 8*b1e83836Smrg * configure: Regenerate. 9*b1e83836Smrg 10*b1e83836Smrg2020-11-26 Maciej W. Rozycki <macro@linux-mips.org> 11*b1e83836Smrg 12*b1e83836Smrg * io/io.h [HAVE_NEWLOCALE]: Also check for HAVE_FREELOCALE and 13*b1e83836Smrg HAVE_USELOCALE. 14*b1e83836Smrg [HAVE_FREELOCALE && HAVE_NEWLOCALE && HAVE_USELOCALE] 15*b1e83836Smrg (HAVE_POSIX_2008_LOCALE): New macro. 16*b1e83836Smrg (st_parameter_dt) [HAVE_NEWLOCALE]: Check for 17*b1e83836Smrg HAVE_POSIX_2008_LOCALE instead. 18*b1e83836Smrg * io/transfer.c (data_transfer_init_worker, finalize_transfer) 19*b1e83836Smrg [HAVE_USELOCALE]: Check for HAVE_POSIX_2008_LOCALE instead. 20*b1e83836Smrg * io/unit.c [HAVE_NEWLOCALE]: Likewise. 21*b1e83836Smrg (init_units) [HAVE_NEWLOCALE]: Likewise. 22*b1e83836Smrg (close_units) [HAVE_FREELOCALE]: Likewise. 23*b1e83836Smrg * runtime/error.c (gf_strerror) [HAVE_USELOCALE]: Likewise. 24*b1e83836Smrg 25*b1e83836Smrg2020-11-26 Maciej W. Rozycki <macro@linux-mips.org> 26*b1e83836Smrg 27*b1e83836Smrg * libgfortran.h: Use #if rather than #ifdef with 28*b1e83836Smrg __FLT_HAS_INFINITY__, __DBL_HAS_INFINITY__, 29*b1e83836Smrg __LDBL_HAS_INFINITY__, __FLT_HAS_QUIET_NAN__, 30*b1e83836Smrg __DBL_HAS_QUIET_NAN__, and __LDBL_HAS_QUIET_NAN__. 31*b1e83836Smrg 32*b1e83836Smrg2020-11-21 Iain Sandoe <iain@sandoe.co.uk> 33*b1e83836Smrg 34*b1e83836Smrg * intrinsics/execute_command_line.c (environ): Use 35*b1e83836Smrg _NSGetEnviron to get the environment pointer on Darwin. 36*b1e83836Smrg 37*b1e83836Smrg2020-10-30 Harald Anlauf <anlauf@gmx.de> 38*b1e83836Smrg 39*b1e83836Smrg * intrinsics/random.c (SZ_IN_INT_4): Define size of state in int32_t. 40*b1e83836Smrg (SZ_IN_INT_8): Define size of state in int64_t. 41*b1e83836Smrg (SZ): Remove. 42*b1e83836Smrg (random_seed_i4): Use size SZ_IN_INT_4 instead of SZ. 43*b1e83836Smrg (random_seed_i8): Use size SZ_IN_INT_8 instead of SZ. 44*b1e83836Smrg 45*b1e83836Smrg2020-10-18 Harald Anlauf <anlauf@gmx.de> 46*b1e83836Smrg 47*b1e83836Smrg * m4/matmul_internal.m4: Move check for rank-1 times rank-2 before 48*b1e83836Smrg checks on strides for rank-2 times rank-2. 49*b1e83836Smrg * generated/matmul_c10.c: Regenerated. 50*b1e83836Smrg * generated/matmul_c16.c: Likewise. 51*b1e83836Smrg * generated/matmul_c4.c: Likewise. 52*b1e83836Smrg * generated/matmul_c8.c: Likewise. 53*b1e83836Smrg * generated/matmul_i1.c: Likewise. 54*b1e83836Smrg * generated/matmul_i16.c: Likewise. 55*b1e83836Smrg * generated/matmul_i2.c: Likewise. 56*b1e83836Smrg * generated/matmul_i4.c: Likewise. 57*b1e83836Smrg * generated/matmul_i8.c: Likewise. 58*b1e83836Smrg * generated/matmul_r10.c: Likewise. 59*b1e83836Smrg * generated/matmul_r16.c: Likewise. 60*b1e83836Smrg * generated/matmul_r4.c: Likewise. 61*b1e83836Smrg * generated/matmul_r8.c: Likewise. 62*b1e83836Smrg * generated/matmulavx128_c10.c: Likewise. 63*b1e83836Smrg * generated/matmulavx128_c16.c: Likewise. 64*b1e83836Smrg * generated/matmulavx128_c4.c: Likewise. 65*b1e83836Smrg * generated/matmulavx128_c8.c: Likewise. 66*b1e83836Smrg * generated/matmulavx128_i1.c: Likewise. 67*b1e83836Smrg * generated/matmulavx128_i16.c: Likewise. 68*b1e83836Smrg * generated/matmulavx128_i2.c: Likewise. 69*b1e83836Smrg * generated/matmulavx128_i4.c: Likewise. 70*b1e83836Smrg * generated/matmulavx128_i8.c: Likewise. 71*b1e83836Smrg * generated/matmulavx128_r10.c: Likewise. 72*b1e83836Smrg * generated/matmulavx128_r16.c: Likewise. 73*b1e83836Smrg * generated/matmulavx128_r4.c: Likewise. 74*b1e83836Smrg * generated/matmulavx128_r8.c: Likewise. 75*b1e83836Smrg 76*b1e83836Smrg2020-09-28 Tobias Burnus <tobias@codesourcery.com> 77*b1e83836Smrg 78*b1e83836Smrg * m4/unpack.m4 (unpack0_'rtype_code`, 79*b1e83836Smrg unpack1_'rtype_code`): Move 'rstride[0]' initialization outside 80*b1e83836Smrg conditional branch to silence -Wmaybe-uninitialized. 81*b1e83836Smrg * generated/unpack_c10.c: Regenerate. 82*b1e83836Smrg * generated/unpack_c16.c: Regenerate. 83*b1e83836Smrg * generated/unpack_c4.c: Regenerate. 84*b1e83836Smrg * generated/unpack_c8.c: Regenerate. 85*b1e83836Smrg * generated/unpack_i1.c: Regenerate. 86*b1e83836Smrg * generated/unpack_i16.c: Regenerate. 87*b1e83836Smrg * generated/unpack_i2.c: Regenerate. 88*b1e83836Smrg * generated/unpack_i4.c: Regenerate. 89*b1e83836Smrg * generated/unpack_i8.c: Regenerate. 90*b1e83836Smrg * generated/unpack_r10.c: Regenerate. 91*b1e83836Smrg * generated/unpack_r16.c: Regenerate. 92*b1e83836Smrg * generated/unpack_r4.c: Regenerate. 93*b1e83836Smrg * generated/unpack_r8.c: Regenerate. 94*b1e83836Smrg 95*b1e83836Smrg2020-09-27 Clement Chigot <clement.chigot@atos.net> 96*b1e83836Smrg 97*b1e83836Smrg * config/t-aix: Use $(AR) without -X32_64. 98*b1e83836Smrg 99*b1e83836Smrg2020-09-03 Harald Anlauf <anlauf@gmx.de> 100*b1e83836Smrg 101*b1e83836Smrg * m4/iall.m4: Initial value for result should be -1. 102*b1e83836Smrg * generated/iall_i1.c (miall_i1): Generated. 103*b1e83836Smrg * generated/iall_i16.c (miall_i16): Likewise. 104*b1e83836Smrg * generated/iall_i2.c (miall_i2): Likewise. 105*b1e83836Smrg * generated/iall_i4.c (miall_i4): Likewise. 106*b1e83836Smrg * generated/iall_i8.c (miall_i8): Likewise. 107*b1e83836Smrg 108*b1e83836Smrg2020-08-24 Mark Eggleston <markeggleston@gcc.gnu.org> 109*b1e83836Smrg 110*b1e83836Smrg PR fortran/96486 111*b1e83836Smrg * intrinsics/env.c: If value_len is > 0 blank the string. 112*b1e83836Smrg Copy the result only if its length is > 0. 113*b1e83836Smrg 114*b1e83836Smrg2020-08-20 Mark Eggleston <markeggleston@gcc.gnu.org> 115*b1e83836Smrg 116*b1e83836Smrg PR fortran/96436 117*b1e83836Smrg * io/format.c (parse_format_list): Add new local variable 118*b1e83836Smrg "standard" to hold the required standard to check. If the 119*b1e83836Smrg format width is zero select standard depending on descriptor. 120*b1e83836Smrg Call notification_std using the new standard variable. 121*b1e83836Smrg 122*b1e83836Smrg2020-08-17 David Edelsohn <dje.gcc@gmail.com> 123*b1e83836Smrg Clement Chigot <clement.chigot@atos.net> 124*b1e83836Smrg 125*b1e83836Smrg * config/t-aix: Add complementary mode object file to libcaf_single.a. 126*b1e83836Smrg 127*b1e83836Smrg2020-08-03 Tobias Burnus <tobias@codesourcery.com> 128*b1e83836Smrg 129*b1e83836Smrg * caf/single.c (_gfortran_caf_lock): Fix typo. 130*b1e83836Smrg 131*b1e83836Smrg2020-07-26 Tobias Burnus <tobias@codesourcery.com> 132*b1e83836Smrg 133*b1e83836Smrg PR target/96306 134*b1e83836Smrg * configure.ac: Add LIBGOMP_CHECKED_INT_KINDS and 135*b1e83836Smrg LIBGOMP_CHECKED_REAL_KINDS and use it for to skip 136*b1e83836Smrg integer kind=16 checks for amdgcn. 137*b1e83836Smrg * Makefile.am (kinds.h, selected_int_kind.inc, 138*b1e83836Smrg selected_real_kind.inc): Pass them on. 139*b1e83836Smrg * mk-kinds-h.sh: Takes to-be-check kinds as argument. 140*b1e83836Smrg * mk-sik-inc.sh: Likewise. 141*b1e83836Smrg * mk-srk-inc.sh: Likewise. 142*b1e83836Smrg * Makefile.in: Regenerate. 143*b1e83836Smrg * configure: Regenerate. 144*b1e83836Smrg 145*b1e83836Smrg2020-07-24 Dominique d'Humieres <dhumieres.dominique@free.fr> 146*b1e83836Smrg 147*b1e83836Smrg PR fortran/93567 148*b1e83836Smrg * io/write_float.def (determine_en_precision): Fix switch between 149*b1e83836Smrg FMT_E and FMT_F. 150*b1e83836Smrg 151*b1e83836Smrg2020-07-24 Dominique d'Humieres <dhumieres.dominique@free.fr> 152*b1e83836Smrg 153*b1e83836Smrg PR fortran/93592 154*b1e83836Smrg * io/write_float.def (build_float_string): Do not reset 155*b1e83836Smrg nbefore for FMT_F and FMT_EN. 156*b1e83836Smrg 157*b1e83836Smrg2020-07-14 David Edelsohn <dje.gcc@gmail.com> 158*b1e83836Smrg 159*b1e83836Smrg * config/t-aix: Set BITS from compiler cpp macro. 160*b1e83836Smrg 161*b1e83836Smrg2020-06-22 David Edelsohn <dje.gcc@gmail.com> 162*b1e83836Smrg 163*b1e83836Smrg * Makefile.am: Use -include. 164*b1e83836Smrg * Makefile.in: Regenerate. 165*b1e83836Smrg 166*b1e83836Smrg2020-06-21 David Edelsohn <dje.gcc@gmail.com> 167*b1e83836Smrg 168*b1e83836Smrg * Makefile.am (tmake_file): Build and install AIX-style FAT libraries. 169*b1e83836Smrg * Makefile.in: Regenerate. 170*b1e83836Smrg * configure.ac (tmake_file): Substitute. 171*b1e83836Smrg * configure: Regenerate. 172*b1e83836Smrg * configure.host: Add system configury stanza. Define tmake_file. 173*b1e83836Smrg * config/t-aix: New file. 174*b1e83836Smrg 175*b1e83836Smrg2020-06-13 Thomas Koenig <tkoenig@gcc.gnu.org> 176*b1e83836Smrg 177*b1e83836Smrg PR libfortran/95313 178*b1e83836Smrg * io/write.c (ztoa_big): Disable -Wstringop-overflow for one 179*b1e83836Smrg line. 180*b1e83836Smrg 181*b1e83836Smrg2020-06-08 Harald Anlauf <anlauf@gmx.de> 182*b1e83836Smrg 183*b1e83836Smrg PR fortran/95091 184*b1e83836Smrg * io/transfer.c (finalize_transfer): Fix type in error message. 185*b1e83836Smrg 186*b1e83836Smrg2020-06-01 Uroš Bizjak <ubizjak@gmail.com> 187*b1e83836Smrg 188*b1e83836Smrg PR libfortran/95418 189*b1e83836Smrg * config/fpu-387.h (struct fenv): Add __attribute__ ((gcc_struct)). 190*b1e83836Smrg 191*b1e83836Smrg2020-05-29 H.J. Lu <hjl.tools@gmail.com> 192*b1e83836Smrg 193*b1e83836Smrg PR bootstrap/95413 194*b1e83836Smrg * configure: Regenerated. 195*b1e83836Smrg 196*b1e83836Smrg2020-05-29 Jakub Jelinek <jakub@redhat.com> 197*b1e83836Smrg 198*b1e83836Smrg PR libfortran/95390 199*b1e83836Smrg * Makefile.am (i_findloc0_c): Add findloc0_i10.c. 200*b1e83836Smrg (i_findloc1_c): Add findloc1_i10.c. 201*b1e83836Smrg * gfortran.map (GFORTRAN_10.2): New symbol version, export 202*b1e83836Smrg _gfortran_{,m,s}findloc{0,1}_c10 symbols. 203*b1e83836Smrg * Makefile.in: Regenerated. 204*b1e83836Smrg * generated/findloc0_c10.c: Generated. 205*b1e83836Smrg * generated/findloc1_c10.c: Generated. 206*b1e83836Smrg 207*b1e83836Smrg2020-05-28 Harald Anlauf <anlauf@gmx.de> 208*b1e83836Smrg 209*b1e83836Smrg PR libfortran/95104 210*b1e83836Smrg * io/unit.c (unlock_unit): Guard by check for NULL pointer. 211*b1e83836Smrg 212*b1e83836Smrg2020-05-26 Harald Anlauf <anlauf@gmx.de> 213*b1e83836Smrg Steven G. Kargl <kargl@gcc.gnu.org> 214*b1e83836Smrg 215*b1e83836Smrg PR libfortran/95104 216*b1e83836Smrg * io/transfer.c (st_wait_async): Do not dereference NULL pointer. 217*b1e83836Smrg 218*b1e83836Smrg2020-05-26 Harald Anlauf <anlauf@gmx.de> 219*b1e83836Smrg 220*b1e83836Smrg PR fortran/95195 221*b1e83836Smrg * io/transfer.c (finalize_transfer): Generate runtime error for 222*b1e83836Smrg namelist input/output to unformatted file. 223*b1e83836Smrg 224*b1e83836Smrg2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org> 225*b1e83836Smrg 226*b1e83836Smrg PR libfortran/95191 227*b1e83836Smrg * io/async.c (async_wait_id): Generate error if ID is higher 228*b1e83836Smrg than the highest current ID. 229*b1e83836Smrg * runtime/error.c (translate_error): Handle LIBERROR_BAD_WAIT_ID. 230*b1e83836Smrg 231*b1e83836Smrg2020-05-21 H.J. Lu <hongjiu.lu@intel.com> 232*b1e83836Smrg 233*b1e83836Smrg * m4/matmul.m4: Don't include <config/i386/cpuinfo.h>. Use 234*b1e83836Smrg __builtin_cpu_is/__builtin_cpu_supports 235*b1e83836Smrg * generated/matmul_c10.c: Regenerated. 236*b1e83836Smrg * generated/matmul_c16.c: Likewise. 237*b1e83836Smrg * generated/matmul_c4.c: Likewise. 238*b1e83836Smrg * generated/matmul_c8.c: Likewise. 239*b1e83836Smrg * generated/matmul_i1.c: Likewise. 240*b1e83836Smrg * generated/matmul_i16.c: Likewise. 241*b1e83836Smrg * generated/matmul_i2.c: Likewise. 242*b1e83836Smrg * generated/matmul_i4.c: Likewise. 243*b1e83836Smrg * generated/matmul_i8.c: Likewise. 244*b1e83836Smrg * generated/matmul_r10.c: Likewise. 245*b1e83836Smrg * generated/matmul_r16.c: Likewise. 246*b1e83836Smrg * generated/matmul_r4.c: Likewise. 247*b1e83836Smrg * generated/matmul_r8.c: Likewise. 248*b1e83836Smrg 249*b1e83836Smrg2020-05-15 H.J. Lu <hongjiu.lu@intel.com> 250*b1e83836Smrg 251*b1e83836Smrg PR bootstrap/95147 252*b1e83836Smrg * configure: Regenerated. 253*b1e83836Smrg 254*b1e83836Smrg2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org> 255*b1e83836Smrg 256*b1e83836Smrg PR libfortran/95119 257*b1e83836Smrg * io/close.c (close_status): Add CLOSE_INVALID. 258*b1e83836Smrg (st_close): Return early on invalid STATUS parameter. 259*b1e83836Smrg 260*b1e83836Smrg2020-05-14 H.J. Lu <hongjiu.lu@intel.com> 261*b1e83836Smrg 262*b1e83836Smrg * configure: Regenerated. 263*b1e83836Smrg 264*b1e83836Smrg2020-05-06 Uroš Bizjak <ubizjak@gmail.com> 265*b1e83836Smrg 266*b1e83836Smrg * config/fpu-387.h (__math_force_eval): Remove. 267*b1e83836Smrg (__math_force_eval_div): New define. 268*b1e83836Smrg (local_feraiseexcept): Use __math_force_eval_div to use 269*b1e83836Smrg generic division to generate INVALID, DIVZERO and INEXACT 270*b1e83836Smrg exceptions. 271*b1e83836Smrg (struct fenv): Define named struct instead of typedef. 272*b1e83836Smrg 273*b1e83836Smrg2020-05-01 Uroš Bizjak <ubizjak@gmail.com> 274*b1e83836Smrg 275*b1e83836Smrg * config/fpu-387.h (__math_force_eval): New define. 276*b1e83836Smrg (local_feraiseexcept): Use __math_force_eval to evaluate 277*b1e83836Smrg generic division to generate INVALID and DIVZERO exceptions. 278*b1e83836Smrg 279*b1e83836Smrg2020-04-22 Fritz Reese <foreese@gcc.gnu.org> 280*b1e83836Smrg 281*b1e83836Smrg * intrinsics/trigd.c, intrinsics/trigd_lib.inc, intrinsics/trigd.inc: 282*b1e83836Smrg Guard against unavailable math functions. 283*b1e83836Smrg Use suffixes from kinds.h based on the REAL kind. 284*b1e83836Smrg 285*b1e83836Smrg2020-04-22 Jakub Jelinek <jakub@redhat.com> 286*b1e83836Smrg 287*b1e83836Smrg PR libfortran/94694 288*b1e83836Smrg PR libfortran/94586 289*b1e83836Smrg * configure.ac: Add math func checks for fmaf, fma and fmal. Add 290*b1e83836Smrg HAVE_INLINE_BUILTIN_COPYSIGN check. 291*b1e83836Smrg * c99_protos.h (copysign, fmaf, fma, fmal): Provide fallback 292*b1e83836Smrg prototypes. 293*b1e83836Smrg (HAVE_COPYSIGN, HAVE_FMAF, HAVE_FMA, HAVE_FMAL): Define if not 294*b1e83836Smrg defined and fallback version is provided. 295*b1e83836Smrg * intrinsics/c99_functions.c (copysign, fmaf, fma, fmal): Provide 296*b1e83836Smrg fallback implementations if possible 297*b1e83836Smrg * configure: Regenerated. 298*b1e83836Smrg * config.h.in: Regenerated. 299*b1e83836Smrg 300*b1e83836Smrg2020-04-19 Uroš Bizjak <ubizjak@gmail.com> 301*b1e83836Smrg 302*b1e83836Smrg * config/fpu-387.h (local_feraiseexcept) [__SSE_MATH__]: 303*b1e83836Smrg Remove unneeded assignments to volatile memory. 304*b1e83836Smrg 305*b1e83836Smrg2020-04-01 Fritz Reese <foreese@gcc.gnu.org> 306*b1e83836Smrg Steven G. Kargl <kargl@gcc.gnu.org> 307*b1e83836Smrg 308*b1e83836Smrg PR fortran/93871 309*b1e83836Smrg * Makefile.am, Makefile.in: New make rule for intrinsics/trigd.c. 310*b1e83836Smrg * gfortran.map: New routines for {sind, cosd, tand}X{r4, r8, r10, r16}. 311*b1e83836Smrg * intrinsics/trigd.c, intrinsics/trigd_lib.inc, intrinsics/trigd.inc: 312*b1e83836Smrg New files. Defines native degree-valued trig functions. 313*b1e83836Smrg 314*b1e83836Smrg2020-02-18 Thomas Koenig <tkoenig@gcc.gnu.org> 315*b1e83836Smrg 316*b1e83836Smrg PR fortran/93599 317*b1e83836Smrg * io/async.c (destroy_adv_cond): Do not destroy lock. 318*b1e83836Smrg (async_io): Make sure au->lock is locked for finishing of thread. 319*b1e83836Smrg Do not lock/unlock around signalling emptysignal. Unlock au->lock 320*b1e83836Smrg before return. 321*b1e83836Smrg (init_adv_cond): Do not initialize lock. 322*b1e83836Smrg (enqueue_transfer): Unlock after signal. 323*b1e83836Smrg (enqueue_done_id): Likewise. 324*b1e83836Smrg (enqueue_done): Likewise. 325*b1e83836Smrg (enqueue_close): Likewise. 326*b1e83836Smrg (enqueue_data_transfer): Likewise. 327*b1e83836Smrg (async_wait_id): Do not lock/unlock around signalling au->work. 328*b1e83836Smrg (async_wait): Unlock after signal. 329*b1e83836Smrg * io/async.h (SIGNAL): Add comment about needed au->lock. 330*b1e83836Smrg Remove locking/unlocking of advcond->lock. 331*b1e83836Smrg (WAIT_SIGNAL_MUTEX): Add comment. Remove locking/unlocking of 332*b1e83836Smrg advcond->lock. Unlock mutex only at the end. Loop on 333*b1e83836Smrg __ghread_cond_wait returning zero. 334*b1e83836Smrg (REVOKE_SIGNAL): Add comment. Remove locking/unlocking of 335*b1e83836Smrg advcond->lock. 336*b1e83836Smrg (struct adv_cond): Remove mutex from struct. 337*b1e83836Smrg 338*b1e83836Smrg2020-02-12 Sandra Loosemore <sandra@codesourcery.com> 339*b1e83836Smrg 340*b1e83836Smrg PR libstdc++/79193 341*b1e83836Smrg PR libstdc++/88999 342*b1e83836Smrg 343*b1e83836Smrg * configure: Regenerated. 344*b1e83836Smrg 345*b1e83836Smrg2020-01-24 Maciej W. Rozycki <macro@wdc.com> 346*b1e83836Smrg 347*b1e83836Smrg * configure.ac: Handle `--with-toolexeclibdir='. 348*b1e83836Smrg * Makefile.in: Regenerate. 349*b1e83836Smrg * aclocal.m4: Regenerate. 350*b1e83836Smrg * configure: Regenerate. 351*b1e83836Smrg 352*b1e83836Smrg2020-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> 353*b1e83836Smrg 354*b1e83836Smrg PR libfortran/93234 355*b1e83836Smrg * io/unit.c (set_internal_unit): Set round and sign flags 356*b1e83836Smrg correctly. 357*b1e83836Smrg 358*b1e83836Smrg2020-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> 359*b1e83836Smrg 360*b1e83836Smrg PR libfortran/90374 361*b1e83836Smrg * io/format.c (parse_format_list): Zero width not allowed with 362*b1e83836Smrg FMT_D. 363*b1e83836Smrg * io/write_float.def (build_float_string): Include range of 364*b1e83836Smrg higher exponent values that require wider width. 365*b1e83836Smrg 366*b1e83836Smrg2020-01-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> 367*b1e83836Smrg 368*b1e83836Smrg PR libfortran/90374 369*b1e83836Smrg * io/format.c (parse_format_list): Implement the E0 exponent 370*b1e83836Smrg width to provide smallest possible width for exponent fields. 371*b1e83836Smrg Refactor code for correct parsing and better readability of the 372*b1e83836Smrg code. 373*b1e83836Smrg * io/io.h (write_real_w0): Change interface to pass in pointer 374*b1e83836Smrg to fnode. 375*b1e83836Smrg * io/transfer.c: Update all calls to write_real_w0 to use the 376*b1e83836Smrg new interface. 377*b1e83836Smrg * io/write.c ((write_real_w0): Use the new interface with fnode 378*b1e83836Smrg to access both the decimal precision and exponent widths used in 379*b1e83836Smrg build_float_string. 380*b1e83836Smrg * io/write_float.def (build_float_string): Use the passed in 381*b1e83836Smrg exponent width to calculate the used width in the case of E0. 382*b1e83836Smrg 383*b1e83836Smrg2020-01-01 Jakub Jelinek <jakub@redhat.com> 384*b1e83836Smrg 385*b1e83836Smrg Update copyright years. 386*b1e83836Smrg 387*b1e83836SmrgCopyright (C) 2020 Free Software Foundation, Inc. 388*b1e83836Smrg 389*b1e83836SmrgCopying and distribution of this file, with or without modification, 390*b1e83836Smrgare permitted in any medium without royalty provided the copyright 391*b1e83836Smrgnotice and this notice are preserved. 392