/[cmucl]/src/code/type-init.lisp
ViewVC logotype

Contents of /src/code/type-init.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.4 - (show annotations)
Fri Mar 19 15:19:00 2010 UTC (4 years, 1 month ago) by rtoy
Branch: MAIN
CVS Tags: sparc-tramp-assem-base, post-merge-intl-branch, release-20b-pre1, release-20b-pre2, sparc-tramp-assem-2010-07-19, GIT-CONVERSION, cross-sol-x86-merged, RELEASE_20b, cross-sol-x86-base, snapshot-2010-12, snapshot-2010-11, snapshot-2011-09, snapshot-2011-06, snapshot-2011-07, snapshot-2011-04, snapshot-2011-02, snapshot-2011-03, snapshot-2011-01, snapshot-2010-05, snapshot-2010-04, snapshot-2010-07, snapshot-2010-06, snapshot-2010-08, cross-sol-x86-2010-12-20, cross-sparc-branch-base, HEAD
Branch point for: cross-sparc-branch, RELEASE-20B-BRANCH, sparc-tramp-assem-branch, cross-sol-x86-branch
Changes since 1.3: +2 -1 lines
Merge intl-branch 2010-03-18 to HEAD.  To build, you need to use
boot-2010-02-1 as the bootstrap file.  You should probably also use
the new -P option for build.sh to generate and update the po files
while building.
1 ;;; -*- Package: KERNEL; Log: C.Log -*-
2 ;;;
3 ;;; **********************************************************************
4 ;;; This code was written as part of the CMU Common Lisp project at
5 ;;; Carnegie Mellon University, and has been placed in the public domain.
6 ;;;
7 (ext:file-comment
8 "$Header: /tiger/var/lib/cvsroots/cmucl/src/code/type-init.lisp,v 1.4 2010/03/19 15:19:00 rtoy Rel $")
9 ;;;
10 ;;; **********************************************************************
11 ;;;
12 ;;; This file's top-level forms are run, it precomputes the translations for
13 ;;; commonly used type specifiers. This stuff is split off from the other type
14 ;;; stuff to get around problems with everything needing to be loaded before
15 ;;; everything else. This is the first file which really exercises the type
16 ;;; stuff. This stuff is also somewhat implementation-dependent in that
17 ;;; implementations may want to precompute other types which are important to
18 ;;; them.
19 ;;;
20 ;;; Written by Rob MacLachlan
21 ;;;
22 (in-package "KERNEL")
23 (intl:textdomain "cmucl")
24
25 (export '*null-type*)
26
27 ;;; Built-in classes...
28
29 (dolist (x built-in-classes)
30 (destructuring-bind (name &key (translation nil trans-p) &allow-other-keys)
31 x
32 (when trans-p
33 (let ((class (class-cell-class (find-class-cell name)))
34 (type (specifier-type translation)))
35 (setf (built-in-class-translation class) type)
36 (setf (info type builtin name) type)))))
37
38 ;;; Numeric types...
39
40 (precompute-types '((mod 2) (mod 4) (mod 16) (mod #x100) (mod #x10000)
41 (mod #x100000000)
42 (unsigned-byte 1) (unsigned-byte 2) (unsigned-byte 4)
43 (unsigned-byte 8) (unsigned-byte 16) (unsigned-byte 32)
44 (signed-byte 8) (signed-byte 16) (signed-byte 32)))
45
46 ;;; Builtin symbol type specifiers:
47
48 (precompute-types type-specifier-symbols)
49
50 (defparameter *null-type* (specifier-type 'null))

  ViewVC Help
Powered by ViewVC 1.1.5