summaryrefslogtreecommitdiff
path: root/module/system
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2023-02-11 23:33:37 +0100
committerLudovic Courtès <ludo@gnu.org>2023-02-24 16:49:00 +0100
commit89c3bae3cf68fac9b6bf10fd377cd11de040be71 (patch)
tree9636f3913eddccb4344f8516f0c9fb0e7211866c /module/system
parent821e0f9cd55a112783e579eb6f8d96c37d2f85fe (diff)
downloadguile-89c3bae3cf68fac9b6bf10fd377cd11de040be71.tar.gz
Add -Wunused-module.
* module/language/tree-il/analyze.scm (<module-info>): New record type. (unused-module-analysis): New variable. (make-unused-module-analysis): New analysis. (make-analyzer): Add it. * module/system/base/message.scm (%warning-types): Add 'unused-module'. * test-suite/tests/tree-il.test (%opts-w-unused-module): New variable. ("warnings")["unused-module"]: New test prefix. * NEWS: Update.
Diffstat (limited to 'module/system')
-rw-r--r--module/system/base/message.scm11
1 files changed, 10 insertions, 1 deletions
diff --git a/module/system/base/message.scm b/module/system/base/message.scm
index 869afa783..92ec0389d 100644
--- a/module/system/base/message.scm
+++ b/module/system/base/message.scm
@@ -1,6 +1,6 @@
;;; User interface messages
-;; Copyright (C) 2009-2012,2016,2018,2020-2021 Free Software Foundation, Inc.
+;; Copyright (C) 2009-2012,2016,2018,2020-2021,2023 Free Software Foundation, Inc.
;;; This library is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU Lesser General Public License as published by
@@ -115,6 +115,15 @@
(emit port "~A: warning: possibly unused local top-level variable `~A'~%"
loc name)))
+ (unused-module
+ "report unused modules"
+ ,(lambda (port loc name definitely-unused?)
+ (if definitely-unused?
+ (emit port "~A: warning: unused module ~a~%"
+ loc name)
+ (emit port "~A: warning: possibly unused module ~a~%"
+ loc name))))
+
(shadowed-toplevel
"report shadowed top-level variables"
,(lambda (port loc name previous-loc)