8043bbd73f0ed74140a37d990e71cb67287eee8d
[sbcl.git] / src / code / early-alieneval.lisp
1 ;;;; This software is part of the SBCL system. See the README file for
2 ;;;; more information.
3 ;;;;
4 ;;;; This software is derived from the CMU CL system, which was
5 ;;;; written at Carnegie Mellon University and released into the
6 ;;;; public domain. The software is in the public domain and is
7 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
8 ;;;; files for more information.
9
10 (in-package "SB!ALIEN")
11
12 (defvar *alien-type-classes* (make-hash-table :test 'eq))
13
14 (defvar *new-auxiliary-types* nil)
15
16 ;;; the list of record types that have already been unparsed. This is
17 ;;; used to keep from outputting the slots again if the same structure
18 ;;; shows up twice.
19 (defvar *record-types-already-unparsed*)
20
21 ;;; not documented in CMU CL:-(
22 ;;;
23 ;;; reverse engineering observations:
24 ;;;   * seems to be set when translating return values
25 ;;;   * seems to enable the translation of (VALUES), which is the
26 ;;;     Lisp idiom for C's return type "void" (which is likely
27 ;;;     why it's set when when translating return values)
28 (defvar *values-type-okay* nil)
29
30 (defvar *default-c-string-external-format* nil)