From 92336ae10f41494a49c8d8adb1a2e6a1d3b90c85 Mon Sep 17 00:00:00 2001 From: "Steven G. Kargl" Date: Mon, 5 Jul 2010 20:14:15 +0000 Subject: [PATCH] io.c (resolve_tag): Check EXIST tag is a default logical. 2010-07-05 Steven G. Kargl fortran/44797 * fortran/io.c (resolve_tag): Check EXIST tag is a default logical. From-SVN: r161852 --- gcc/fortran/ChangeLog | 5 +++++ gcc/fortran/io.c | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 621879b5b1b3..611f6d982b93 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2010-07-05 Steven G. Kargl + + fortran/44797 + * fortran/io.c (resolve_tag): Check EXIST tag is a default logical. + 2010-07-05 Paul Thomas PR fortran/44596 diff --git a/gcc/fortran/io.c b/gcc/fortran/io.c index f9a6d7b12404..afbde0210b46 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",