Commit Graph

19751 Commits (1cd6e4451f04af4871675d0eecd48b3bac262b67)

Author SHA1 Message Date
Florian Angeletti 5a22a88dcd matching: more precise argo argument 2020-03-10 12:12:36 +01:00
Thomas Refis 8790988aa4 matching: start using Pattern_head 2020-03-10 12:08:39 +01:00
Thomas Refis 9504ede328 parmatch: export Pattern_head 2020-03-10 12:08:39 +01:00
Thomas Refis 4b41481d2c matching: Add intermediary types to keep track of the compilation state of pms 2020-03-10 12:08:39 +01:00
Gabriel Scherer a80939a00a fix HACKING.adoc formatting 2020-03-09 23:52:02 +01:00
Stephen Dolan 4d4a056bc7
Micro-optimise allocations on amd64 to save a register (#9280)
There's no need for allocation on amd64 to clobber the %rax register. It's only used in one case (-compact out-of-line allocation of >3 words), and only used there to do a single subtraction. That subtraction can be done by the caller at no code size penalty, freeing up %rax.

Inside amd64.S functions, %r11 can be used instead of %rax as temporary.  %r11 is destroyed by PLT stub code, so on ELF platforms it costs nothing to use.
2020-03-09 19:52:36 +01:00
Andre e10d0ac160
Document warning 67 in ocamlc man page (#9346) 2020-03-09 19:38:48 +01:00
Gabriel Scherer 0fff7a43c5
Merge pull request #9196 from gasche/clarify-disambiguation-3
disambiguation: improve the interface of `NameChoice.disambiguate`
2020-03-09 13:39:32 +01:00
Gabriel Scherer bf6c8d4b95 disambiguation: improve the API of NameChoice.disambiguate 2020-03-07 14:35:05 +01:00
Thomas Refis c323d11144
Merge pull request #8934 from trefis/usage
Stop relying on location to track usage
2020-03-06 16:49:44 +01:00
Florian Angeletti b82d5194c2
Merge pull request #9343 from lpw25/fix-short-paths-environments
Re-enable `-short-paths` for some error messages
2020-03-06 09:38:40 +01:00
Sébastien Briais cc4a075e9b
Define Seq.cons and Seq.append. (#9077)
* Define Seq.cons and Seq.append.
2020-03-06 09:26:38 +01:00
Gabriel Scherer e8d9ec52e2 make depend 2020-03-06 07:03:56 +01:00
Thomas Refis bea2d04582
build_subtype: assert arrow type is known (#9348)
`build_subtype` is invoked only through `enlarge_type` when typechecking Pexp_coerce.

The type passed to `build_subtype` can only have `Cok` arrows because:
- the base type is the direct result of `Typetexp.transl_simple_type_delayed` which only introduces `Cok` arrows
- the other source of arrows could be the result of unification; however at this point the type variables are fresh, they have not been unified with any existing types.

Adding this assertion ensures that this property won't be broken by accident.
2020-03-05 16:18:59 +01:00
Stephen Dolan 0c39193cc2
Merge pull request #9316 from stedolan/cmm-let-mut
Use typing information from Clambda for mutable Cmm variables
2020-03-05 14:08:04 +00:00
Thomas Refis b67779b45e add forgotten word in comment 2020-03-05 14:54:21 +01:00
Thomas Refis dec26d4ad8 bootstrap 2020-03-05 14:23:23 +01:00
Thomas Refis 0a09add592
printtyp: inline a function call (#9347) 2020-03-05 14:21:35 +01:00
Thomas Refis 86b33bc450 Uid.reinit 2020-03-05 14:20:04 +01:00
Stephen Dolan a2800410cf update Changes 2020-03-05 12:52:08 +00:00
Thomas Refis 3fe25383ba Types.Uid: include Identifiable 2020-03-05 13:36:11 +01:00
Thomas Refis 6063e73d3a Changes 2020-03-05 13:35:14 +01:00
Thomas Refis 8abb51905b set_value_used_callback: simplify implementation 2020-03-05 13:35:14 +01:00
Thomas Refis dacf8b5a0b typecore: wrap_unpacks => type_unpacks
This allows us to give the same uid to the module bound in the guard,
and the one bound in the rhs.
2020-03-05 13:35:14 +01:00
Thomas Refis 7e370000d3 update testsuite 2020-03-05 13:35:14 +01:00
Thomas Refis e4de6c19b1 use uid for usage warnings 2020-03-05 13:35:12 +01:00
Thomas Refis d52dd5c33e Add a unique id to every signature item 2020-03-05 13:34:12 +01:00
Thomas Refis 9fb4b05f4b typedtree.mli: un-open Types 2020-03-05 13:34:12 +01:00
Thomas Refis 70370d7004
Merge pull request #9275 from lpw25/short-circuit-simple-inclusion-checks
Short circuit simple inclusion checks
2020-03-05 12:03:24 +01:00
Leo White c5bd0d8d6b Add Changes entry 2020-03-05 09:44:18 +00:00
Leo White 971ffafffb Apply short-paths to an additional case 2020-03-05 09:44:18 +00:00
Leo White a1b11caf02
Merge pull request #9305 from lpw25/avoid-poly-compare-in-ident
Avoid polymorphic compare in Ident
2020-03-04 18:14:09 +00:00
Leo White 7b99835711 Add Changes entry 2020-03-04 15:34:23 +00:00
Leo White ccfd2cfee4 Bootstrap 2020-03-04 15:20:32 +00:00
Leo White ecfaffe9de Short circuit simple inclusion checks 2020-03-04 15:20:32 +00:00
Leo White 190637137a Add Changes entry 2020-03-04 14:42:05 +00:00
Leo White 76752f7255 Avoid polymorphic compare in Ident 2020-03-04 14:41:42 +00:00
Leo White 1188af3614 Fix some bugs in short-paths 2020-03-03 18:04:47 +00:00
Leo White 9de0113e94 Add test for short-paths in error messages 2020-03-03 18:01:13 +00:00
Florian Angeletti 1fd6dc077d
Fix font family in code snippet (#9334) 2020-02-27 09:29:53 +01:00
Thomas Refis bfc2b13f42 matching: move things around 2020-02-26 16:01:12 +01:00
Thomas Refis c591c17d52 matching: half_compiled_row: (head, patl, act) => - 12 assert false 2020-02-26 16:01:10 +01:00
Glenn Slotte 4823934182
Document base case of List.for_all and List.exists (#9325)
* Document the base case (`[ ]`) of List.for_all and List.exists
2020-02-26 09:51:01 +01:00
Stephen Dolan de9e630852 Assert that Cassign is only used on Clet_mut-bound variables 2020-02-25 15:23:38 +00:00
Stephen Dolan 1336ce0c0d Use typing information from Clambda for mutable Cmm variables 2020-02-25 15:03:14 +00:00
Florian Angeletti bb15443a23 Revert "Make asmgen tests run"
This reverts commit e168edc67d.
2020-02-24 11:20:14 +01:00
Nicolás Ojeda Bär e35105a9bb Fix typo in Changes 2020-02-22 10:20:11 +01:00
Florian Angeletti 996bf287ad
Merge pull request #9308 from dbuenzli/bootdoc
BOOTSTRAP.adoc: clarify some points (closes #9278).
2020-02-21 13:31:15 +01:00
Gabriel Scherer 9d8897db14
Merge pull request #9318 from trefis/empty_in_or_pattern
Fix exhaustivity checking in presence of empty types
2020-02-21 13:12:34 +01:00
Florian Angeletti b6c978f702
Merge pull request #9323 from smuenzel-js/changes-four-09
Some "Changes" in 4.09 weren't included in 4.09
2020-02-21 09:54:57 +01:00