summaryrefslogtreecommitdiffstats
path: root/stdlib/optimize.tl
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2023-03-20 17:00:17 -0700
committerKaz Kylheku <kaz@kylheku.com>2023-03-20 17:00:17 -0700
commitb32ad4d359658830a3ca4a07fd21f7c7ce9b3739 (patch)
tree936266109645859ab2f2ecac0b4e5057c6987e1b /stdlib/optimize.tl
parent08c828b27a61b8e181b4cb004afa795e2e453e22 (diff)
downloadtxr-b32ad4d359658830a3ca4a07fd21f7c7ce9b3739.tar.gz
txr-b32ad4d359658830a3ca4a07fd21f7c7ce9b3739.tar.bz2
txr-b32ad4d359658830a3ca4a07fd21f7c7ce9b3739.zip
compiler: compiler options mechanism.
Introducing a compiler options system, so we can control diagnostics and such. We begin with three options for diagnosing shadowing. * autoload.c (compiler_set_entries): Register a structure name compiler-opts, a with-compile-opts function name, *compile-opts* variable name, and slots shadow-fun, shadow-var and shadow-cross. * stdlib/compiler.tl (compile-opts): New struct. (%warning-syms%): New macro. (*compile-opts*): New special variable. (when-opt, with-compile-opts): New macros. (opt-controlled-diag): New function. (env extend-var): Call extend-var* method instead of repeating code. (env extend-var*): Implement shadow-var and shadow-cross diagnostic options. (env extend-fun): Implement shadow-fun and shadow-cross diagnostic options.
Diffstat (limited to 'stdlib/optimize.tl')
0 files changed, 0 insertions, 0 deletions