98f3c7a638c4a8cd06aec58d51e02422210d759e
[sbcl.git] / src / code / cross-io.lisp
1 ;;;; cross-compiler-only versions of I/O-related stuff
2
3 ;;;; This software is part of the SBCL system. See the README file for
4 ;;;; more information.
5 ;;;;
6 ;;;; This software is derived from the CMU CL system, which was
7 ;;;; written at Carnegie Mellon University and released into the
8 ;;;; public domain. The software is in the public domain and is
9 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
10 ;;;; files for more information.
11
12 (in-package "SB!IMPL")
13
14 (file-comment
15  "$Header$")
16
17 ;;;; fast-read operations
18 ;;;;
19 ;;;; (Portable versions of these are needed at cross-compile time because
20 ;;;; genesis implements some of its cold fops by cloning ordinary fop
21 ;;;; implementations, and the ordinary fop implementations are defined in terms
22 ;;;; of fast-read operations.)
23
24 (defmacro prepare-for-fast-read-byte (stream &body forms)
25   `(let ((%frc-stream% ,stream))
26      ,@forms))
27
28 (defmacro fast-read-byte (&optional (eof-error-p t) (eof-value nil) any-type)
29   (declare (ignore any-type))
30   `(read-byte %frc-stream% ,eof-error-p ,eof-value))
31
32 (defmacro done-with-fast-read-byte ()
33   `(values))