2010-07-05 Steven G. Kargl <kargl@gcc.gnu.org>
authorkargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 5 Jul 2010 20:14:15 +0000 (20:14 +0000)
committerkargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 5 Jul 2010 20:14:15 +0000 (20:14 +0000)
    fortran/44797
    * fortran/io.c (resolve_tag): Check EXIST tag is a default logical.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161852 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/fortran/ChangeLog
gcc/fortran/io.c

index 621879b..611f6d9 100644 (file)
@@ -1,3 +1,8 @@
+2010-07-05  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       fortran/44797
+       * fortran/io.c (resolve_tag): Check EXIST tag is a default logical.
+
 2010-07-05  Paul Thomas  <pault@gcc.gnu.org>
 
        PR fortran/44596
index f9a6d7b..afbde02 100644 (file)
@@ -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",