summaryrefslogtreecommitdiffstats
path: root/autoload.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2023-03-20 19:51:05 -0700
committerKaz Kylheku <kaz@kylheku.com>2023-03-20 19:51:05 -0700
commit72964155b42047e78cf9a54633893b83aaa7e5d5 (patch)
tree6c03ea629f0048a69abff1e68f2bd67465ceac15 /autoload.c
parenta3a1d75a0fa8e5db8eee9b59285251b6368530ac (diff)
downloadtxr-72964155b42047e78cf9a54633893b83aaa7e5d5.tar.gz
txr-72964155b42047e78cf9a54633893b83aaa7e5d5.tar.bz2
txr-72964155b42047e78cf9a54633893b83aaa7e5d5.zip
compiler: implement unused warning
* autoload.c (compiler_set_entries): Register slot symbol "unused". * stdlib/compiler.tl (compile-opts): New slot, unused. (%warning-syms%): List unused symbol. (env lookup-var): Support optional mark-used parameter, just like lookup-fun. (env unused-check): New method. (compiler comp-var): Pass t to mark-used parameter of lookup-var to register the use. (compiler (comp-let, comp-var)): Call unused-check method after sub-compilations are done to dump diagnostics about unused variables.
Diffstat (limited to 'autoload.c')
-rw-r--r--autoload.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/autoload.c b/autoload.c
index accead94..bb293022 100644
--- a/autoload.c
+++ b/autoload.c
@@ -668,7 +668,8 @@ static val compiler_set_entries(val fun)
nil
};
val slname[] = {
- lit("shadow-fun"), lit("shadow-var"), lit("shadow-cross"), nil
+ lit("shadow-fun"), lit("shadow-var"), lit("shadow-cross"),
+ lit("unused"), nil
};
autoload_sys_set(al_struct, sys_name, fun);
autoload_set(al_struct, sname, fun);