~ chicken-core (chicken-5) 4a2a5a1b37ff17f07a3b4b46f182b6b17d030ca4
commit 4a2a5a1b37ff17f07a3b4b46f182b6b17d030ca4
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Sat Nov 27 15:39:52 2010 +0100
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Sat Nov 27 15:39:52 2010 +0100
chicken-bootstrap feature defd during build, disables redef-std/ext binding warning
diff --git a/batch-driver.scm b/batch-driver.scm
index 62809c9f..8a9f20eb 100644
--- a/batch-driver.scm
+++ b/batch-driver.scm
@@ -295,7 +295,6 @@
(lambda (f) (load (##sys#resolve-include-filename f #f #t)))
extends) )
(set! ##sys#features (delete #:compiler-extension ##sys#features eq?))
-
(set! ##sys#features (cons '#:compiling ##sys#features))
(set! upap (user-post-analysis-pass))
@@ -333,6 +332,7 @@
ssize) ) )
(set! emit-trace-info (not (memq 'no-trace options)))
(set! disable-stack-overflow-checking (memq 'disable-stack-overflow-checks options))
+ (set! bootstrap-mode (feature? #:chicken-bootstrap))
(when (memq 'm debugging-chicken) (set-gc-report! #t))
(unless (memq 'no-usual-integrations options)
(set! standard-bindings default-standard-bindings)
diff --git a/compiler-namespace.scm b/compiler-namespace.scm
index e2efd577..91c9b47e 100644
--- a/compiler-namespace.scm
+++ b/compiler-namespace.scm
@@ -34,6 +34,7 @@
block-compilation
block-variable-literal-name
block-variable-literal?
+ bootstrap-mode
bomb
broken-constant-nodes
build-expression-tree
diff --git a/compiler.scm b/compiler.scm
index e0cef04a..0c526fa9 100644
--- a/compiler.scm
+++ b/compiler.scm
@@ -337,6 +337,7 @@
(define enable-inline-files #f)
(define compiler-syntax-enabled #t)
(define unchecked-specialized-arithmetic #f)
+(define bootstrap-mode #f)
;;; These are here so that the backend can access them:
@@ -1796,7 +1797,7 @@
((set! ##core#set!)
(let* ((var (first params))
(val (car subs)) )
- (when first-analysis
+ (when (and first-analysis (not bootstrap-mode))
(case (variable-mark var '##compiler#intrinsic)
((standard)
(warning "redefinition of standard binding" var) )
diff --git a/defaults.make b/defaults.make
index 566f1082..6622696f 100644
--- a/defaults.make
+++ b/defaults.make
@@ -271,7 +271,7 @@ CSI ?= csi$(EXE)
# Scheme compiler flags
-CHICKEN_OPTIONS = -optimize-level 2 -include-path . -include-path $(SRCDIR) -inline -ignore-repository -feature building-chicken
+CHICKEN_OPTIONS = -optimize-level 2 -include-path . -include-path $(SRCDIR) -inline -ignore-repository -feature chicken-bootstrap
ifdef DEBUGBUILD
CHICKEN_OPTIONS += -feature debugbuild -scrutinize -types $(SRCDIR)types.db
else
diff --git a/irregex-core.scm b/irregex-core.scm
index ab634f2b..9078fba7 100644
--- a/irregex-core.scm
+++ b/irregex-core.scm
@@ -80,7 +80,7 @@
;;;; Data Structures
(cond-expand
- (building-chicken
+ (chicken-bootstrap
(begin
(define-syntax (internal x r c)
`(,(with-input-from-string (cadr x) read) ,@(cddr x)))
@@ -1559,7 +1559,7 @@
;;;; Compilation
(cond-expand
- (building-chicken
+ (chicken-bootstrap
(define-syntax cached
(syntax-rules ()
((_ arg fail) (build-cache 5 arg fail)))))
Trap