re PR libfortran/23178 (Undefined symbol: __gfortran_flush_i8)
authorFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Mon, 1 Aug 2005 21:13:39 +0000 (21:13 +0000)
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Mon, 1 Aug 2005 21:13:39 +0000 (21:13 +0000)
PR libfortran/23178
* intrinsics/flush.c (flush_i8): Add function flush_i8. Update
copyright years.

From-SVN: r102641

gcc/fortran/ChangeLog
libgfortran/ChangeLog
libgfortran/intrinsics/flush.c

index 1a04beb60584d6c2bf47ef60532212430885c21c..d9e7ec9577328c9a00973736247ec54beda6681c 100644 (file)
@@ -1,7 +1,7 @@
 2005-07-31  Jerry DeLisle  <jvdelisle@verizon.net>
 
-        * intrinsic.texi: Add documentation for exponent, floor, and fnum and
-        fix description of ceiling in index.
+       * intrinsic.texi: Add documentation for exponent, floor, and fnum and
+       fix description of ceiling in index.
 
 2005-07-31  Steven Bosscher  <stevenb@suse.de>
 
index 27bb48378ef389d95717121c7ae67787be2ce598..cdd3f118216e5a3bd1fe77eb3f03d98780e2d1ac 100644 (file)
@@ -1,3 +1,9 @@
+2005-08-01  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+       PR libfortran/23178
+       * intrinsics/flush.c (flush_i8): Add function flush_i8. Update
+       copyright years.
+
 2005-07-31  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
 
        PR libfortran/21787
index 40335f9e2dad932299d9e47dd48d2d1333068bd6..7e1c98122f7d12c563f61f3c833a790ba25cf450 100644 (file)
@@ -1,5 +1,5 @@
 /* Implementation of the FLUSH intrinsic.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
    Contributed by Steven G. Kargl <kargls@comcast.net>.
 
 This file is part of the GNU Fortran 95 runtime library (libgfortran).
@@ -75,3 +75,26 @@ flush_i4 (GFC_INTEGER_4 *unit)
         flush (us->s);
     }
 }
+
+
+extern void flush_i8 (GFC_INTEGER_8 *);
+export_proto(flush_i8);
+
+void
+flush_i8 (GFC_INTEGER_8 *unit)
+{
+  gfc_unit *us;
+
+  /* flush all streams */
+  if (unit == NULL)
+    {
+      us = g.unit_root;
+      recursive_flush(us);
+    }
+  else
+    {
+      us = find_unit(*unit);
+      if (us != NULL)
+        flush (us->s);
+    }
+}