~ chicken-core (chicken-5) 7140d3cbe406df979e6c73cf8d0b37196d700c45
commit 7140d3cbe406df979e6c73cf8d0b37196d700c45
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Thu Jun 9 04:39:11 2011 -0400
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Thu Jun 9 04:39:11 2011 -0400
-verbose enables notices; debug-info about compiler-passes, -phases and interesting events is shown with -debug p
diff --git a/batch-driver.scm b/batch-driver.scm
index f68332d5..d7d4b7e3 100644
--- a/batch-driver.scm
+++ b/batch-driver.scm
@@ -103,10 +103,10 @@
(define (cputime) (current-milliseconds))
(define (dribble fstr . args)
- (when verbose (printf "~?~%~!" fstr args)))
+ (debugging 'p (apply sprintf fstr args)))
(define (print-header mode dbgmode)
- (dribble "pass: ~a" mode)
+ (debugging 'p "pass" mode)
(and (memq dbgmode debugging-chicken)
(begin
(printf "[~a]~%" mode)
@@ -212,7 +212,7 @@
(when (memq 'inline-global options)
(set! enable-inline-files #t)
(set! inline-locally #t))
- (when (or verbose do-scrutinize)
+ (when verbose
(set! ##sys#notices-enabled #t))
(when (memq 'no-warnings options)
(dribble "Warnings are disabled")
diff --git a/scrutinizer.scm b/scrutinizer.scm
index 6015986d..a10e1551 100755
--- a/scrutinizer.scm
+++ b/scrutinizer.scm
@@ -136,7 +136,7 @@
(sprintf "use of deprecated library procedure `~a'" id) )
'(*))
((and (pair? a) (eq? (car a) 'deprecated))
- (report
+ (report
loc
(sprintf
"use of deprecated library procedure `~a' - consider using `~a' instead"
@@ -179,7 +179,7 @@
(define (always-true t loc x)
(let ((f (always-true1 t)))
(when f
- (report
+ (report-notice
loc
(sprintf
"expected value of type boolean in conditional but were given a value of\ntype `~a' which is always true:~%~%~a"
@@ -413,17 +413,22 @@
(let ((n (length tv)))
(cond ((= 1 n) (car tv))
((zero? n)
- (report
+ (report
loc
(sprintf "expected ~a a single result, but were given zero results" what))
'undefined)
(else
- (report
+ (report
loc
(sprintf "expected ~a a single result, but were given ~a result~a"
what n (multiples n)))
(first tv))))))
+ (define (report-notice loc desc #!optional (show complain))
+ (when show
+ (##sys#notice
+ (conc (location-name loc) desc))))
+
(define (report loc desc #!optional (show complain))
(when show
(warning
@@ -520,7 +525,7 @@
(variable-mark pn '##compiler#predicate)) =>
(lambda (pt)
(cond ((match-specialization (list pt) (cdr args) #t)
- (report
+ (report-notice
loc
(sprintf
"~athe predicate is called with an argument of type `~a' and will always return true"
@@ -531,7 +536,7 @@
`(let ((#:tmp #(1))) '#t))
(set! op (list pn pt))))
((match-specialization (list `(not ,pt)) (cdr args) #t)
- (report
+ (report-notice
loc
(sprintf
"~athe predicate is called with an argument of type `~a' and will always return false"
@@ -1013,8 +1018,7 @@
(define (load-type-database name #!optional (path (repository-path)))
(and-let* ((dbfile (file-exists? (make-pathname path name))))
- (when verbose-mode
- (printf "loading type database ~a ...~%" dbfile))
+ (debugging 'p (sprintf "loading type database ~a ...~%" dbfile))
(for-each
(lambda (e)
(let* ((name (car e))
@@ -1040,7 +1044,7 @@
(warning "invalid type specification" name new))))
(else))
(when (and old (not (compatible-types? old new)))
- (##sys#notice
+ (warning
(sprintf
"type-definition `~a' for toplevel binding `~a' conflicts with previously loaded type `~a'"
name new old)))
diff --git a/support.scm b/support.scm
index 9e9d9b06..088cb2b5 100644
--- a/support.scm
+++ b/support.scm
@@ -1439,8 +1439,7 @@
(define (load-identifier-database name)
(and-let* ((rp (repository-path))
(dbfile (file-exists? (make-pathname rp name))))
- (when verbose-mode
- (printf "loading identifier database ~a ...~%" dbfile))
+ (debugging 'p (sprintf "loading identifier database ~a ...~%" dbfile))
(for-each
(lambda (e)
(let ((id (car e)))
@@ -1597,7 +1596,7 @@ Available debugging options:
r show invocation parameters
s show program-size information and other statistics
a show node-matching during simplification
- p show execution of compiler sub-passes
+ p show execution of compiler passes
m show GC statistics during compilation
n print the line-number database
c print every expression before macro-expansion
Trap