aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/io.c
diff options
context:
space:
mode:
authorHarald Anlauf <anlauf@gmx.de>2021-07-18 21:35:53 +0200
committerHarald Anlauf <anlauf@gmx.de>2021-07-18 21:35:53 +0200
commitf527b8233498b40c8a2c616b82265f2e58aba42a (patch)
treeb0e60a5e99485afdd7d89bddb69daf32684ae11a /gcc/fortran/io.c
parent5586e7e85de381f3df843091494889f8ad8e3e1f (diff)
downloadgcc-f527b8233498b40c8a2c616b82265f2e58aba42a.zip
gcc-f527b8233498b40c8a2c616b82265f2e58aba42a.tar.gz
gcc-f527b8233498b40c8a2c616b82265f2e58aba42a.tar.bz2
Fortran: reject FORMAT tag of unknown type.
gcc/fortran/ChangeLog: PR fortran/101084 * io.c (resolve_tag_format): Extend FORMAT check to unknown type. gcc/testsuite/ChangeLog: PR fortran/101084 * gfortran.dg/fmt_nonchar_3.f90: New test.
Diffstat (limited to 'gcc/fortran/io.c')
-rw-r--r--gcc/fortran/io.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c
index 40cd76e..fc97df7 100644
--- a/gcc/fortran/io.c
+++ b/gcc/fortran/io.c
@@ -1763,7 +1763,7 @@ resolve_tag_format (gfc_expr *e)
if (e->ts.type != BT_CHARACTER)
{
if (e->ts.type == BT_DERIVED || e->ts.type == BT_CLASS
- || e->ts.type == BT_VOID)
+ || e->ts.type == BT_VOID || e->ts.type == BT_UNKNOWN)
{
gfc_error ("Non-character non-Hollerith in FORMAT tag at %L",
&e->where);