diff options
Diffstat (limited to 'libgfortran/io/write.c')
-rw-r--r-- | libgfortran/io/write.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libgfortran/io/write.c b/libgfortran/io/write.c index 6656c97..f72b482 100644 --- a/libgfortran/io/write.c +++ b/libgfortran/io/write.c @@ -1405,9 +1405,16 @@ set_fnode_default (st_parameter_dt *dtp, fnode *f, int length) f->u.real.e = 4; break; case 16: + /* Adjust decimal precision depending on binary precision, 106 or 113. */ +#if GFC_REAL_16_DIGITS == 113 f->u.real.w = 45; f->u.real.d = 36; f->u.real.e = 4; +#else + f->u.real.w = 41; + f->u.real.d = 32; + f->u.real.e = 4; +#endif break; default: internal_error (&dtp->common, "bad real kind"); |