Remove integer comparison involving nonconstant polymorphic variants#854
Remove integer comparison involving nonconstant polymorphic variants#854mshinwell merged 1 commit intooxcaml:mainfrom
Conversation
|
For context, this relates to examples like the following: where currently the pattern matching compiler is generating integer ordered comparisons between pointers and integers, which we wish to disallow: |
|
I think this also fixes a bug. The last test checks whether |
|
Wow that is very subtle. We should upstream this. |
|
I've created a PR upstream (ocaml/ocaml#11587). |
|
I'm going to approve this based on the upstream approval. |
25188da flambda-backend: Missed comment from PR802 (oxcaml#887) 9469765 flambda-backend: Improve the semantics of asynchronous exceptions (new simpler version) (oxcaml#802) d9e4dd0 flambda-backend: Fix `make runtest` on NixOS (oxcaml#874) 4bbde7a flambda-backend: Simpler symbols (oxcaml#753) ef37262 flambda-backend: Add opaqueness to Obj.magic under Flambda 2 (oxcaml#862) a9616e9 flambda-backend: Add build system hooks for ocaml-jst (oxcaml#869) 045ef67 flambda-backend: Allow the compiler to build with stock Dune (oxcaml#868) 3cac5be flambda-backend: Simplify Makefile logic for natdynlinkops (oxcaml#866) c5b12bf flambda-backend: Remove unnecessary install lines (oxcaml#860) ff12bbe flambda-backend: Fix unused variable warning in st_stubs.c (oxcaml#861) c84976c flambda-backend: Static check for noalloc: attributes (oxcaml#825) ca56052 flambda-backend: Build system refactoring for ocaml-jst (oxcaml#857) 39eb7f9 flambda-backend: Remove integer comparison involving nonconstant polymorphic variants (oxcaml#854) c102688 flambda-backend: Fix soundness bug by using currying information from typing (oxcaml#850) 6a96b61 flambda-backend: Add a primitive to enable/disable the tick thread (oxcaml#852) f64370b flambda-backend: Make Obj.dup use a new primitive, %obj_dup (oxcaml#843) 9b78eb2 flambda-backend: Add test for oxcaml#820 (include functor soundness bug) (oxcaml#841) 8f24346 flambda-backend: Add `-dtimings-precision` flag (oxcaml#833) 65c2f22 flambda-backend: Add test for oxcaml#829 (oxcaml#831) 7b27a49 flambda-backend: Follow-up PR#829 (comballoc fixes for locals) (oxcaml#830) ad7ec10 flambda-backend: Use a custom condition variable implementation (oxcaml#787) 3ee650c flambda-backend: Fix soundness bug in include functor (oxcaml#820) 2f57378 flambda-backend: Static check noalloc (oxcaml#778) aaad625 flambda-backend: Emit begin/end region only when stack allocation is enabled (oxcaml#812) 17c7173 flambda-backend: Fix .cmt for included signatures (oxcaml#803) e119669 flambda-backend: Increase delays in tests/lib-threads/beat.ml (oxcaml#800) ccc356d flambda-backend: Prevent dynamic loading of the same .cmxs twice in private mode, etc. (oxcaml#784) 14eb572 flambda-backend: Make local extension point equivalent to local_ expression (oxcaml#790) 487d11b flambda-backend: Fix tast_iterator and tast_mapper for include functor. (oxcaml#795) a50a818 flambda-backend: Reduce closure allocation in List (oxcaml#792) 96c9c60 flambda-backend: Merge ocaml-jst a775b88 flambda-backend: Fix ocaml/otherlibs/unix 32-bit build (oxcaml#767) f7c2679 flambda-backend: Create object files internally to avoid invoking GAS (oxcaml#757) c7a46bb flambda-backend: Bugfix for Cmmgen.expr_size with locals (oxcaml#756) b337cb6 flambda-backend: Fix build_upstream for PR749 (oxcaml#750) 8e7e81c flambda-backend: Differentiate is_int primitive between generic and variant-only versions (oxcaml#749) git-subtree-dir: ocaml git-subtree-split: 25188da
This hopefully means that we will be able to revert #729.