diff options
author | Andrea Corallo <akrl@sdf.org> | 2021-03-01 19:39:00 +0100 |
---|---|---|
committer | Andrea Corallo <akrl@sdf.org> | 2021-03-01 18:09:40 +0100 |
commit | 3d014e1bf48f661f0b229ddf735608ff0ba7cfe6 (patch) | |
tree | 43546114820b1146cd0bc37c015ccd8a9a1dfed5 /test/lisp/emacs-lisp/find-func-tests.el | |
parent | 5bc08559e8f171eafc3c034232f8cfd9eaf89862 (diff) | |
download | emacs-3d014e1bf48f661f0b229ddf735608ff0ba7cfe6.tar.gz emacs-3d014e1bf48f661f0b229ddf735608ff0ba7cfe6.tar.bz2 emacs-3d014e1bf48f661f0b229ddf735608ff0ba7cfe6.zip |
Fix `eql' `equal' propagation of non hash consed values (bug#46843)
Extend assumes allowing the following form:
(assume dst (and-nhc src1 src2))
`and-nhc' assume operator allow for constraining correctly
intersections where non hash consed values are not propagated as
values but rather promoted to their types.
* lisp/emacs-lisp/comp-cstr.el
(comp-cstr-intersection-no-hashcons): New function.
* lisp/emacs-lisp/comp.el (comp-emit-assume): Logic update to emit
`and-nhc' operator (implemented in fwprop by
`comp-cstr-intersection-no-hashcons').
(comp-add-cond-cstrs): Map `eq' to `and' assume operator and
`equal' `eql' into `and-nhc'.
(comp-fwprop-insn): Update to handle `and-nhc'.
* test/src/comp-tests.el (comp-tests-type-spec-tests): Add two
tests covering `eql' and `equal' propagation of non hash consed
values.
Diffstat (limited to 'test/lisp/emacs-lisp/find-func-tests.el')
0 files changed, 0 insertions, 0 deletions