Commit Graph

20980 Commits (f6279a64b5f8812fed05e8bfeaa9bffcf7b6933f)

Author SHA1 Message Date
Daniel Bünzli ad12d494a8
Unopen Compenv in the code base (this is a nop). (#9933) 2020-09-23 22:55:21 +02:00
David Allsopp eface9f3f6
Merge pull request #9935 from dra27/disabled-testsuite
Clearer error in testsuite when ocamltest missing
2020-09-23 09:42:36 +01:00
David Allsopp 3527051e8d Clearer error in testsuite when ocamltest missing 2020-09-22 20:40:57 +01:00
Thomas Refis 7d9e60daa4
dune: build stdlib without injectivity annotations (#9932) 2020-09-22 10:31:48 +02:00
Brett Gilio 9038c98fc7
Modify ocamltest_core_and_plugin dune. (#9843)
Co-authored-by: David Allsopp <david.allsopp@metastack.com>
2020-09-22 10:27:32 +02:00
Xavier Leroy 72dbcb8433
Merge pull request #9864 from xavierleroy/is_immediate-refactored
Revised detection of arithmetic instructions with immediate operands
2020-09-22 09:22:26 +02:00
David Allsopp 58adc59581
Merge pull request #9927 from dra27/resurrect-cygwin64
Resurrect Cygwin64
2020-09-21 17:15:44 +01:00
Xavier Leroy 8e246c41c2 Revised detection of arithmetic instructions with immediate operands, continued
- Rewrite the `is_immediate` methods in $ARCH/selection.ml in the style of
  other selection methods: operations that need platform-dependent handling
  are explicitly listed, all others fall through `super#is_immediate`.

- The `is_immediate` method from selectgen.ml knows how to handle shifts
  (and no other operation).  Remove the `select_shift_op` method,
  now unnecessary.

- ARM: remove special cases for multiply and multiply-high, no longer
  necessary.

- RISC-V: in emit.mlp, remove implementation of checkbound immediate,
  which is no longer generated.
2020-09-21 14:49:16 +02:00
David Allsopp 001c2d1283 Restore Cygwin64 support 2020-09-21 13:36:03 +01:00
David Allsopp 37d6394874 Update Changes for #9925 2020-09-21 13:35:14 +01:00
David Allsopp 507f40ecd7
Merge pull request #9925 from dra27/fdebug-prefix-map-PR
Fix -fdebug-prefix-map when using flexlink
2020-09-21 13:32:58 +01:00
David Allsopp 2bc77ee5cd Simpler implementation of Ccomp.linker_is_flexlink 2020-09-21 10:11:39 +01:00
David Allsopp 14300d3b1a Fix -fdebug-prefix-map when using flexlink
Prepend the -fdebug-prefix-map= option with -link if the "linker" is in
fact flexlink.
2020-09-21 10:11:39 +01:00
David Allsopp fed86fb598
Merge pull request #9924 from dra27/explicit-export-PR
Remaining functions requiring explicit export
2020-09-21 08:59:06 +01:00
Gabriel Scherer 9f3472dc4a
Merge pull request #9669 from lpw25/fix-7538
Check for misplaced attributes on module aliases (Fix #7538)
2020-09-18 14:57:42 +02:00
Matthew Ryan b6b42f3ce6
Re-check Tpackage scope escapes after normalising paths (#9715)
Rewrite check_scope_escape using proper marking and unmarking

This uses the Btype.snapshot/backtrack mechanism, to ensure that we
always undo marking on types from the environment and to avoid a
`try ... with ...` construction for each recursive call.
2020-09-18 14:38:32 +02:00
David Allsopp 17cceab054 Remaining functions requiring explicit export 2020-09-18 12:11:20 +01:00
Leo White 44fff5c92a Add ppx-only unary operators 2020-09-18 10:33:16 +01:00
Leo White 3c9ca39e14 Add Changes entry 2020-09-18 09:45:23 +01:00
Leo White fdbb4e201e Fix PR#7538 2020-09-18 09:38:08 +01:00
Leo White cfb1d66387 Add test for PR#7538 2020-09-18 09:16:52 +01:00
Leo White bbad93d222
Merge pull request #9783 from lpw25/widen-warning-16
Widen warning 16 to more cases
2020-09-18 09:12:56 +01:00
Leo White 2cb6066e4b Add Changes entry 2020-09-17 18:54:23 +01:00
Leo White 98d4f0b864 Widen warning 16 to more cases 2020-09-17 18:54:22 +01:00
Leo White 74270315a0 Add some tests for warning 16 2020-09-17 18:54:22 +01:00
Sébastien Hinderer ceb13a273c Inria CI: use a timeout, take #2
Let's try with a very short timeout, to make sure the job will exceed it.
2020-09-17 18:39:09 +02:00
Sadiq Jaffer c10217818f
Garbage collector colours change (#9756) 2020-09-17 17:24:04 +02:00
Xavier Leroy a55b0e17dc Test for immediates: also test "checkbound"
Plus: bow to check-typo.
2020-09-17 10:41:16 +02:00
Thomas Refis f6a5b755f8
Env.folds (#9922) 2020-09-17 09:54:21 +02:00
Thomas Refis 9ca9df88c0
Untypeast: define untype_expression, untype_pattern (#9920)
Convenience functions that have been defined in merlin for a while.
2020-09-16 20:49:05 +02:00
Xavier Leroy a33cfe5859 Changes for 9864 2020-09-16 14:01:49 +02:00
Sébastien Hinderer fb0b2c5cd1 Inria CI: add timeouts to pipeline jobs 2020-09-16 11:57:54 +02:00
Xavier Leroy a61052edf5 New test exercising immediate arguments to integer operations 2020-09-16 11:52:30 +02:00
Xavier Leroy 86fbea7fc3 Back-ends for 64-bit platforms do not need to be compilable on a 32-bit host
This commit simplifies a few integer constants that were obfuscated so
as to pass compilation on a 32-bit host, as "make check_all_arches"
would do if ran on a 32-bit host.  However, "make check_all_arches"
does not run on 32-bit hosts, unlike what is claimed in comments.

More generally, 32-bit hosts are no longer used for developing OCaml and
will not be used for cross-compilation.  So, let's not complicate the
back-ends unnecessarily.
2020-09-16 11:52:26 +02:00
Xavier Leroy cc25ceaaec ARM64: revised generation of ADD/SUB/CMP immediate
- Support a wider range of immediate values for ADD and SUB,
  using two instructions when needed (add/sub middle 12 bits then low 12 bits).

- Do not rely on the assembler to convert CMP immediate negative to
  CMN immediate.
2020-09-16 11:52:26 +02:00
Xavier Leroy 65544ffd1f Revised detection of arithmetic instructions with immediate operands
Replace the a single `is_immediate n` method that is supposed to apply
to all arithmetic instructions by two methods:

`is_immediate op n` : tests whether `n` is in the range of supported
   immediate arguments for integer operation `op`
`is_immediate_test cmp n` : tests whether `n` is in the range of supported
   immediate arguments for integer comparison `cmp`

This makes it easier to handle operations without immediate operands
(e.g. multiply or multiply-high on many platforms) and operations with
specific ranges of immediate operands (e.g. N-bit unsigned versus
N-bit signed).  Before, these operations had to be treated as special
cases in the platform-specific `select_operation` method.
2020-09-16 11:52:19 +02:00
Gabriel Scherer 0a1ed638c4
Merge pull request #9918 from OCamlPro-Coquera/trunk
Stdlib.Format: missing `since` annotation for formatter_out_functions
2020-09-15 11:54:36 +02:00
David Allsopp a65ab1874c
Merge pull request #9912 from dra27/remove-spacetime-link-kludge
Remove caml_ensure_spacetime_dot_o_is_included
2020-09-15 10:43:10 +01:00
David Allsopp cfff00d1cd
Merge pull request #9913 from dra27/spacetime-tweaks
Tidying up spacetime exports
2020-09-15 10:42:35 +01:00
Florian Angeletti d0e983e2aa
Merge pull request #9745 from johnwhitington/trunk
Unify labeled and unlabeled Standard Library module interfaces
2020-09-15 11:07:25 +02:00
Albin Coquereau dedbb708ce move since tag to type definition 2020-09-15 10:33:11 +02:00
Albin Coquereau 0da6ca1f11 Add a comment that out_indent is part of formatter_out_functions since ocaml 4.06.0 2020-09-15 09:58:20 +02:00
Xavier Leroy ba0a9c2ce8
Export, document, and use Unix._exit (#9914)
This is a wrapper around the _exit system call.  It has been implemented
in otherlibs/unix/exit.c for a long time but never exported.

This commit exports and documents it as `Unix._exit`.

The Unix implementation of `establish_server` is changed to use `_exit`
and to have gender-neutral comments.

A test was added to check that OCaml finalization actions are not performed.
2020-09-14 19:03:42 +02:00
David Allsopp e963093f00 Remove unnecssary spacetime disabled stubs 2020-09-14 18:03:00 +01:00
David Allsopp f5eb31b774 Include parameters on dummy spacetime stubs 2020-09-14 18:02:46 +01:00
David Allsopp 23f60e3c2f Minor comment fix 2020-09-14 18:02:20 +01:00
David Allsopp fb84009c58 Use CAMLexport not CAMLprim for C functions 2020-09-14 18:01:27 +01:00
David Allsopp 0bd6c0d36f Remove unused spacetime primitives 2020-09-14 18:01:14 +01:00
David Allsopp 13bba6531b Remove leaking globals 2020-09-14 16:40:12 +01:00
David Allsopp f71a41daaf Add internal toggle to disable using .opt binaries
Adding USE_BEST_BINARIES= to the command line disables the use of the
.opt compilers.
2020-09-14 16:13:41 +01:00