Commit Graph

2348 Commits (5ad64306d36755b600f2556805effb73627508c8)

Author SHA1 Message Date
Stephen Dolan 5ad64306d3
Merge pull request #8713 from kayceesrk/r14-globals
Move C global variables to a dedicated structure
2019-08-27 13:30:22 +01:00
David Allsopp f61bb77691 Fix compatibility test recipe 2019-08-26 17:27:35 +02:00
David Allsopp fae3345930 Compatibility test 2019-08-24 13:00:41 +02:00
Thomas Refis d233009cc9 testsuite: add a regression test for Scoping_pack error 2019-08-23 14:28:27 +01:00
Thomas Refis 57ebc987b3 testsuite: implicit_unpack use expect_test 2019-08-23 14:28:27 +01:00
KC Sivaramakrishnan c298390b5d Fix tests/asmgen for msvc32 2019-08-23 09:50:05 +05:30
KC Sivaramakrishnan fdd4d73b43 Domain state support for i386 2019-08-23 09:50:05 +05:30
KC Sivaramakrishnan c06038a0ee Move backtrace support global variables to domain state.
Since we cannot access backtrace position in cmmgen.ml anymore,
Cmm.raise_kind in removed. Instead, we use Lambda.raise_kind. When
assembly code is generated, we reset the backtrace position to 0 in the
case of regular raise. Importantly, the semantics remains the same.
2019-08-23 09:50:05 +05:30
Thomas Refis f2db8ca4ae
Merge pull request #2127 from lpw25/lookup-errors
Refactor lookup functions
2019-08-21 15:48:06 +01:00
Florian Angeletti a2d15b26d1
Merge pull request #8844 from MekhrubonT/trunk+mekh+1task+change_output
Improved error messages for type mismatches
2019-08-16 20:43:02 +02:00
Gabriel Scherer a72855eaaa
Merge pull request #8874 from Lereena/typing-misc-add
Add some tests for typechecking error messages
2019-08-16 18:31:50 +02:00
Thomas Refis f532be5158
Merge pull request #8871 from trefis/pr8862
subst: preserve scopes (fixes #8862)
2019-08-16 10:15:45 +01:00
Leo White c19e8b2350 Refactor environment lookup functions 2019-08-15 15:56:50 +01:00
Leo White 27f621da75 Add some tests related to instance variables 2019-08-15 11:03:50 +01:00
Leo White 4af0a0026d Add more unused constructor tests 2019-08-15 11:03:50 +01:00
Oxana 3e728c3899 Add tests for includeclass errors 2019-08-14 12:31:10 +03:00
Thomas Refis f03f510464 subst: don't lose scope 2019-08-13 14:17:46 +01:00
Thomas Refis 27b9aeaecd testsuite: add a test for #8862 2019-08-13 14:15:42 +01:00
Gabriel Scherer b08c4e2efc matching.ml: correct a missed optimization opportunity in split_no_or
One optimization in split_no_or is the insertion of a split before
a last matrix line that has only variables. Splitting a matrix there
creates two default environments (instead of one for the non-split
matrix), the first of which often gets specialized away by further
refinement, and the second one jumping directly to the catch-all
case -- this produces better code.

The code would detect this case (all-variable last row) by calling
`group_var` on all the patterns of the row, but the `group_*`
functions assume that their input is already simplified, and only the
first column of the row is simplified.

The present commit fixes it by defining a predicates that does not
assume the pattern is simple, and check that "all its heads" are
a variable. In the future we will refactor this code using
Parmatch.Simple_head.t, and the function invocation may change.

Note: two testcases are changed in tests/basic/patmatch_split_no_or,
the first is the actual optimization and the second is just
stamp-related noise.
2019-08-13 15:10:20 +02:00
Thomas Refis 3a55b73bd1 matching: add some documentation 2019-08-13 15:10:19 +02:00
Gabriel Scherer f53218d312
Merge pull request #8861 from trefis/matching-split_no_or
[matching.ml cleanup] merge split_constr and split_naive
2019-08-09 15:52:12 +02:00
Oxana 7087e24fe4 Add type variable name test 2019-08-09 12:27:03 +03:00
Vincent Laviron 0557f07e70 Fix lsl overflow detection (#8865)
The formula for Misc.no_overflow_lsl a k is sound only if k < width of type int.
2019-08-09 09:42:11 +02:00
Mekhrubon Turaev 38c3710eea Rollbacking changes of Constructor_names and Label_names errors message 2019-08-08 12:04:03 +01:00
Greta Yorsh e08a9688fc Eliminate dead `ICatch` handlers (#2321) 2019-08-06 12:23:13 +01:00
Thomas Refis 10e73934e3 matching: merge split_naive and split_constr 2019-08-02 14:21:21 +01:00
Thomas Refis 549007930f matching: add a test for the extra split in split_no_or
As well as one illustrating split_naive's output.
2019-08-02 13:00:19 +01:00
Florian Angeletti c5dedcd32a Hint: redefinition of types in toplevel sessions 2019-07-31 13:52:20 +02:00
Mekhrubon Turaev 77b876a117 reseting context in constructors and labels methods before printing 2019-07-30 16:20:30 +01:00
Mekhrubon Turaev 4725a9726d added tests for printing type Tvars 2019-07-30 16:17:02 +01:00
Mekhrubon Turaev 407d650f6e Printing additional info about types mismatch during compilation error. 2019-07-30 09:51:02 +01:00
Mekhrubon Turaev 0569b396ec Added new tests for type mismatch errors 2019-07-30 09:50:17 +01:00
Mekhrubon Turaev 6cb5905c27 Improved type hierarchy for type mismatches (#8828)
Added special types for variants, records, constructors or labels type mismatch.
Printing additional info about types mismatch during compilation error.
2019-07-30 08:56:28 +01:00
Gabriel Scherer 4c303cc88a Merge pull request #8826 from glondu/4.08-spelling-errors
Fix spelling errors reported by Lintian

(cherry picked from commit c808ce7068f3e31975594bcd5e6a41dceab3a80e)
2019-07-29 08:36:53 +02:00
Florian Angeletti 15c17f5ad8 Ctype.lower_contravariant: avoid missing cmis 2019-07-25 18:56:02 +02:00
Leo White 57e884d57c Fix #8816 2019-07-20 14:04:51 +01:00
Leo White fcf152da7e Add test for dynlinking packed modules 2019-07-20 14:04:51 +01:00
David Allsopp 94c5cbfb8d Refactor stdlib/hashtbl.ml
No code changes - move the definitions to ensure that the functorial
interface doesn't accidentally rely on polymorphic hash function.
2019-07-19 13:17:52 +01:00
David Allsopp 5707b22f1f Add hassysthreads to testyield test 2019-07-18 21:01:28 +01:00
David Allsopp d753506159 Add hasunix to recvfrom_unix and truncate tests 2019-07-18 20:59:50 +01:00
David Allsopp d5cb641c77 Fix debugger dynlink test on non-shared platforms 2019-07-18 20:05:06 +01:00
Thomas Refis ddb4cd93cb
Env.lookup_module: don't allow creating loops (#8810) 2019-07-18 15:40:48 +01:00
Sébastien Hinderer 1a798abff0 Fix a few tests
A few tests have actually been broken by commit
b2a0f3b659
The present commit fixes all the tests that had not been fixed meanwhile.
2019-07-17 16:04:54 +01:00
Gabriel Scherer 2f5a3b41c3
Merge pull request #8654 from jhjourdan/debugger_dynlink
Dynlink support for ocamldebug
2019-07-17 14:30:55 +02:00
Gabriel Scherer 364d07589b
Merge pull request #8526 from gretay-js/function-sections
Function sections
2019-07-16 13:39:55 +02:00
Jacques-Henri Jourdan 593f94055a Dynlink support for ocamldebug
This commit adds dynlink support for ocamldebug. As a side effect, it also:
  - factorizes the various functions searching for a code fragment into one,
    called [caml_find_code_fragment];
  - removes the [caml_register_code_fragment], which does not seem to
    be used anywhere, and which clearly should not be used by external code.
2019-07-16 10:52:48 +02:00
Alain Frisch 430c20bb78
A new runtime primitive for Array.fill (#8716) 2019-07-16 09:21:23 +02:00
Greta Yorsh c9f9d6de3b Update expected output of func_sections test 2019-07-15 10:25:26 +01:00
Greta Yorsh 4bcb195565 Fix test for arm targets 2019-07-15 10:25:26 +01:00
Greta Yorsh 63f62123df Improve test for function sections 2019-07-15 10:25:26 +01:00