You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

126 lines
4.6 KiB

commit 366dbfaa2132186e5e8b0688df05662967e628c7
Author: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed Mar 28 11:59:06 2018 +0000
* gfortran.h (gfc_dt): Rename default_exp field to dec_ext.
* ioparm.def (IOPARM_dt_default_exp): Rename to ...
(IOPARM_dt_dec_ext): ... this.
* trans-io.c (build_dt): Adjust for default_exp renaming to
dec_ext and IOPARM_dt_default_exp renaming to IOPARM_dt_dec_ext.
* io.c (match_io): Likewise.
* io/io.h (IOPARM_DT_DEFAULT_EXP): Rename to ...
(IOPARM_DT_DEC_EXT): ... this.
* io/list_read.c (parse_real): Adjust for IOPARM_DT_DEFAULT_EXP
renaming to IOPARM_DT_DEC_EXT.
(read_real): Likewise.
* io/read.c (read_f): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258920 138bc75d-0d04-0410-961f-82ee72b054a4
diff --git a/gcc/fortran/gfortran.h b/gcc/fortran/gfortran.h
index 2bfd1e3019d..507570ccbff 100644
--- a/gcc/fortran/gfortran.h
+++ b/gcc/fortran/gfortran.h
@@ -2437,7 +2437,7 @@ typedef struct
gfc_expr *io_unit, *format_expr, *rec, *advance, *iostat, *size, *iomsg,
*id, *pos, *asynchronous, *blank, *decimal, *delim, *pad, *round,
*sign, *extra_comma, *dt_io_kind, *udtio;
- char default_exp;
+ char dec_ext;
gfc_symbol *namelist;
/* A format_label of `format_asterisk' indicates the "*" format */
diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c
index 10b7e827dab..0aa31bb6a4f 100644
--- a/gcc/fortran/io.c
+++ b/gcc/fortran/io.c
@@ -4291,9 +4291,10 @@ get_io_list:
goto syntax;
}
- /* See if we want to use defaults for missing exponents in real transfers. */
+ /* See if we want to use defaults for missing exponents in real transfers
+ and other DEC runtime extensions. */
if (flag_dec)
- dt->default_exp = 1;
+ dt->dec_ext = 1;
/* A full IO statement has been matched. Check the constraints. spec_end is
supplied for cases where no locus is supplied. */
diff --git a/gcc/fortran/ioparm.def b/gcc/fortran/ioparm.def
index b9dc58f26a7..9ab3b58946e 100644
--- a/gcc/fortran/ioparm.def
+++ b/gcc/fortran/ioparm.def
@@ -118,5 +118,5 @@ IOPARM (dt, round, 1 << 23, char2)
IOPARM (dt, sign, 1 << 24, char1)
#define IOPARM_dt_f2003 (1 << 25)
#define IOPARM_dt_dtio (1 << 26)
-#define IOPARM_dt_default_exp (1 << 27)
+#define IOPARM_dt_dec_ext (1 << 27)
IOPARM (dt, u, 0, pad)
diff --git a/gcc/fortran/trans-io.c b/gcc/fortran/trans-io.c
index 9058712c695..2626c4651e2 100644
--- a/gcc/fortran/trans-io.c
+++ b/gcc/fortran/trans-io.c
@@ -1958,8 +1958,8 @@ build_dt (tree function, gfc_code * code)
if (dt->udtio)
mask |= IOPARM_dt_dtio;
- if (dt->default_exp)
- mask |= IOPARM_dt_default_exp;
+ if (dt->dec_ext)
+ mask |= IOPARM_dt_dec_ext;
if (dt->namelist)
{
diff --git a/libgfortran/io/io.h b/libgfortran/io/io.h
index 3c2a2cae38a..ccbaf47ff90 100644
--- a/libgfortran/io/io.h
+++ b/libgfortran/io/io.h
@@ -442,7 +442,7 @@ st_parameter_inquire;
#define IOPARM_DT_HAS_SIGN (1 << 24)
#define IOPARM_DT_HAS_F2003 (1 << 25)
#define IOPARM_DT_HAS_UDTIO (1 << 26)
-#define IOPARM_DT_DEFAULT_EXP (1 << 27)
+#define IOPARM_DT_DEC_EXT (1 << 27)
/* Internal use bit. */
#define IOPARM_DT_IONML_SET (1u << 31)
diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c
index d052d1fa828..300c3bd23f3 100644
--- a/libgfortran/io/list_read.c
+++ b/libgfortran/io/list_read.c
@@ -1380,7 +1380,7 @@ parse_real (st_parameter_dt *dtp, void *buffer, int length)
if (!isdigit (c))
{
/* Extension: allow default exponent of 0 when omitted. */
- if (dtp->common.flags & IOPARM_DT_DEFAULT_EXP)
+ if (dtp->common.flags & IOPARM_DT_DEC_EXT)
{
push_char (dtp, '0');
goto done;
@@ -1831,7 +1831,7 @@ read_real (st_parameter_dt *dtp, void *dest, int length)
if (!isdigit (c))
{
/* Extension: allow default exponent of 0 when omitted. */
- if (dtp->common.flags & IOPARM_DT_DEFAULT_EXP)
+ if (dtp->common.flags & IOPARM_DT_DEC_EXT)
{
push_char (dtp, '0');
goto done;
diff --git a/libgfortran/io/read.c b/libgfortran/io/read.c
index 87adfb8a41d..976020af448 100644
--- a/libgfortran/io/read.c
+++ b/libgfortran/io/read.c
@@ -1093,7 +1093,7 @@ exponent:
if (w == 0)
{
/* Extension: allow default exponent of 0 when omitted. */
- if (dtp->common.flags & IOPARM_DT_DEFAULT_EXP)
+ if (dtp->common.flags & IOPARM_DT_DEC_EXT)
goto done;
else
goto bad_float;