aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/io.c
diff options
context:
space:
mode:
authorSteven G. Kargl <kargl@gcc.gnu.org>2010-07-05 20:14:15 +0000
committerSteven G. Kargl <kargl@gcc.gnu.org>2010-07-05 20:14:15 +0000
commit92336ae10f41494a49c8d8adb1a2e6a1d3b90c85 (patch)
tree4cb3d1a8d3afa3ae2ad19488cef8e8e415ee4d5d /gcc/fortran/io.c
parent71b2fd74b9b28fc294c0d75c02e5114c931b70f6 (diff)
downloadgcc-92336ae10f41494a49c8d8adb1a2e6a1d3b90c85.zip
gcc-92336ae10f41494a49c8d8adb1a2e6a1d3b90c85.tar.gz
gcc-92336ae10f41494a49c8d8adb1a2e6a1d3b90c85.tar.bz2
io.c (resolve_tag): Check EXIST tag is a default logical.
2010-07-05 Steven G. Kargl <kargl@gcc.gnu.org> fortran/44797 * fortran/io.c (resolve_tag): Check EXIST tag is a default logical. From-SVN: r161852
Diffstat (limited to 'gcc/fortran/io.c')
-rw-r--r--gcc/fortran/io.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c
index f9a6d7b..afbde02 100644
--- a/gcc/fortran/io.c
+++ b/gcc/fortran/io.c
@@ -1497,6 +1497,14 @@ resolve_tag (const io_tag *tag, gfc_expr *e)
return FAILURE;
}
+ if (tag == &tag_exist && e->ts.kind != gfc_default_logical_kind)
+ {
+ if (gfc_notify_std (GFC_STD_F2008, "Fortran 2008: Nondefault LOGICAL "
+ "in %s tag at %L", tag->name, &e->where)
+ == FAILURE)
+ return FAILURE;
+ }
+
if (tag == &tag_convert)
{
if (gfc_notify_std (GFC_STD_GNU, "Extension: CONVERT tag at %L",