mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-02 18:26:20 +02:00
Fixes <https://bugs.gnu.org/33036>. Reported by <calcium@disroot.org>. * module/language/cps/types.scm (define-simple-type-inferrer): Apply (logand (&type val) <>) uniformly. Previously, this was done only in the false branch. Rename local variable to 'type*', to allow the macro operand 'type' to be an arbitrary expression. (*type-inferrers*)<null?>: Add &nil to the set of possible types. (*type-inferrers*)<nil?>: Add &false and &null to the set the possible types. * module/language/cps/type-fold.scm (*branch-folders*)<null?>: Add &nil to the set of possible types. (*branch-folders*)<nil?>: Add &false and &null to the set the possible types. * test-suite/tests/compiler.test: Add tests. |
||
---|---|---|
.. | ||
closure-conversion.scm | ||
compile-bytecode.scm | ||
constructors.scm | ||
contification.scm | ||
cse.scm | ||
dce.scm | ||
effects-analysis.scm | ||
elide-values.scm | ||
handle-interrupts.scm | ||
intmap.scm | ||
intset.scm | ||
licm.scm | ||
optimize.scm | ||
peel-loops.scm | ||
primitives.scm | ||
prune-bailouts.scm | ||
prune-top-level-scopes.scm | ||
reify-primitives.scm | ||
renumber.scm | ||
rotate-loops.scm | ||
self-references.scm | ||
simplify.scm | ||
slot-allocation.scm | ||
spec.scm | ||
specialize-numbers.scm | ||
specialize-primcalls.scm | ||
split-rec.scm | ||
type-checks.scm | ||
type-fold.scm | ||
types.scm | ||
utils.scm | ||
verify.scm | ||
with-cps.scm |