~ 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