Remove DEF!MACRO, move SB!XC:DEF{TYPE,CONSTANT} earlier.
commit46f08d1f3d30f2783dc6d3672811441598037aff
authorDouglas Katzman <dougk@google.com>
Sun, 13 Mar 2016 00:20:24 +0000 (12 19:20 -0500)
committerDouglas Katzman <dougk@google.com>
Sun, 13 Mar 2016 00:38:53 +0000 (12 19:38 -0500)
tree7899935002b89fd43cda88e7945485adb5358b4c
parent92c055ef0c646e969c2c2111c5dcf4ed115e5256
Remove DEF!MACRO, move SB!XC:DEF{TYPE,CONSTANT} earlier.

DEF!MACRO was too confusing and you don't need it. Instead:

* To have a macro usable in code that's compiling for the host,
  and also in the cross-compiler, just use DEFMACRO, and put it
  early enough so that it's seen by both passes prior to any use.

* For a macro that's not needed to expand host code, but is needed
  in make-host-2 "too late" to define properly (which could be
  considered poor style in itself), use SB!XC:DEFMACRO

BINDING* and NAMED-DS-BIND, appear in the expansion of
SB!XC:DEFMACRO itself, so they merit some extra assistance.
18 files changed:
build-order.lisp-expr
package-data-list.lisp-expr
src/code/cold-init.lisp
src/code/defbangconstant.lisp
src/code/defbangmacro.lisp [deleted file]
src/code/defsetfs.lisp
src/code/defstruct.lisp
src/code/destructuring-bind.lisp
src/code/early-extensions.lisp
src/code/early-source-location.lisp
src/code/force-delayed-defbangmacros.lisp [deleted file]
src/code/primordial-extensions.lisp
src/compiler/defconstant.lisp
src/compiler/deftype.lisp
src/compiler/info-functions.lisp
src/compiler/ir1tran.lisp
src/compiler/ir2tran.lisp
src/compiler/parse-lambda-list.lisp