Commit Graph

18573 Commits (3b96ea0f33e586dae30723ca9ea8c9740c403391)

Author SHA1 Message Date
jakoblichtenberg 3b96ea0f33
Update README.win32.adoc 2019-05-06 10:16:14 -07:00
Thomas Refis 457c44aef9 dune: disable warning 40 2019-05-06 14:01:00 +01:00
Gabriel Scherer bcf176cfd5 minor Changes fixup 2019-05-06 11:41:45 +02:00
Gabriel Scherer 065674b777
Merge pull request #8657 from jhjourdan/no_initialize_make_vect
No need to call [caml_initialize] in [caml_make_vect], since we make sure the initial value is not in the minor heap
2019-05-06 11:40:34 +02:00
Jacques-Henri Jourdan d741f45849 No need to call [caml_initialize] in [caml_make_vect], since we make sure the initial value is not in the minor heap. 2019-05-05 17:02:32 +02:00
Nicolás Ojeda Bär ea6573fda1
Implement Unix.truncate and Unix.ftruncate on Windows (#2023) 2019-05-05 09:57:48 +02:00
Stephen Dolan c24e5b5c8a Ensure that Gc.minor_words remains accurate after a GC (#8619)
If an allocation fails, the decrement of young_ptr should be undone
before the GC is entered. This happened correctly on bytecode but not
on native code.

This commit (squash of pull request #8619) fixes it for all the
platforms supported by ocamlopt.

amd64: add alternate entry points caml_call_gc{1,2,3} for code size
optimisation.

powerpc: introduce one GC call point per allocation size per function.
Each call point corrects the allocation pointer r31 before calling
caml_call_gc.

i386, arm, arm64, s390x: update the allocation pointer after the
conditional branch to the GC, not before.

arm64: simplify the code generator: Ialloc can assume that less than
0x1_0000 bytes are allocated, since the max allocation size for the
minor heap is less than that.

This is a partial cherry-pick of commit 8ceec on multicore.
2019-05-04 10:01:23 +02:00
David Allsopp b818e2af91 Correct MKEXEDEBUGFLAG for msvc (#8638) 2019-05-03 09:25:37 +02:00
David Allsopp 8838dc7527 Don't generate #! headers over 127 characters
A #! line should not exceed 128 characters (including the \0
terminator). This adds a test - both to the generation of the camlheader
files and also to the -use-runtime flag which falls back to #!/bin/sh
and uses exec to invoke the the interpreter.
2019-05-02 20:29:49 +02:00
Xavier Leroy 6726fe8996
Merge pull request #8650 from xavierleroy/makefile-tweaks
Clean up Makefiles to avoid variables that are used but not defined, as reported by make --warn-undefined-variables.
2019-05-02 19:52:16 +02:00
Xavier Leroy e8792cc7ff Add Changes entry for #8650 2019-05-02 19:47:34 +02:00
Xavier Leroy 69e0f1c314 Use "make --warn-undefined-variables" for CI at Inria 2019-05-02 19:43:17 +02:00
Xavier Leroy 8a8743f409 Improve quoting of parameters that are inserted in utils/config.ml
There were some issues in the way parameters from Makefile.config
are inserted in utils/config.mlp to produce utils/config.ml:
- Some of the make functions involved used parameter "$2" yet
  were called with only one argument, causing a warning by
  "make --warn-undefined-variables".
- Despite heroic attempts, special characters in the parameters
  were not always quoted or quoted enough.  For example,
  if FLEXDLL_DIR is C:\foo, the generated utils/config.ml
  contains "C:\foo", which is not a valid OCaml string literal.

This commit fixes these issues by:
- Revising and commenting the make functions that produce
  the properly-quoted sed substitution commands.
- Adding an extra round of quoting for variables used inside
  OCaml's string literals "..."  (function SUBST_STRING)
- Adding two round-trip tests (make test-subst, make test-subst-string)
  to make sure that all printable characters are properly quoted.
2019-05-02 19:43:17 +02:00
Xavier Leroy 4b6174d624 Be more explicit about the default value of DESTDIR
This way, "make --warn-undefined-variables install" does not warn.
2019-05-02 19:43:17 +02:00
Xavier Leroy c4f115cdae Be more explicit about the default values of parameters
This generic Makefile is parameterized by several "make" variables,
- two that must be set by the calling Makefile
- nine that can be set by the calling Makefile but have default values
  otherwise.

This commit sets explicitly the default values of the nine variables above,
using "VAR ?= default-value", even if the default value is the empty string.

This avoids spurious warnings by "make --warn-undefined-variables"
and is good documentation-in-code.
2019-05-02 19:43:17 +02:00
Xavier Leroy 5e352d92cc Remove undefined and useless variable $(INCLUDES)
As found by make --warn-undefined-variables
2019-05-02 19:43:17 +02:00
Xavier Leroy 01f2ac8d70 Check that native-code is supported in world.opt
Previously, if the native-code compiler is not supported
(e.g. because configure doesn't recognize the target architecture,
or is run with --disable-native-compiler), "make world.opt"
fails late and with a mysterious error message
(a warning about undeclared C functions in runtime/roots_nat.c
or runtime/backtrace_nat.c, typically).

This commit ensures that "make world.opt", "make opt" and "make opt.opt"
fail immediately with a meaningful error message if the native-code
compiler is not supported.

Note: in "world.opt", make sure that "checknative" is run, and only
then "coldstart"; don't run them in parallel.
2019-05-02 19:43:17 +02:00
Gabriel Scherer c107e00ce5 Fix the string.mli documentation of unsafe-string (#8653)
unsafe-string is no longer the default since 4.06.
2019-05-02 19:24:53 +02:00
Stephen Dolan 2cdf149e32
Merge pull request #8624 from yallop/pr7865-test
Add a non-regression test for #7865
2019-05-01 16:06:54 +01:00
Damien Doligez 9f904f9a5c
Merge pull request #1901 from 314eter/apostrophe-in-comment
Lex identifiers in comments
2019-04-30 16:10:01 +02:00
Damien Doligez 83a2a048b6 fix tests/lib-dynlink-pr4229 to compile in the test directory and not in the source directory 2019-04-30 16:07:43 +02:00
David Allsopp f2c71fe44d Run tool-ocamldep-modalias test on Windows 2019-04-26 19:47:29 +02:00
Pieter Goetschalckx 4a72f59165
Update changes entry 2019-04-26 15:22:50 +02:00
Pieter Goetschalckx af103fdbf4
Octal character literal in comments 2019-04-26 15:21:02 +02:00
Pieter Goetschalckx 77b2ad5d45
Add changes entry 2019-04-26 15:21:02 +02:00
Pieter Goetschalckx 4e09ec8bd2
Lex identifiers in comments 2019-04-26 15:19:22 +02:00
Gabriel Scherer f845abefc9
Merge pull request #8593 from Octachron/manual_opam
manual: update references to toplevel improvements
2019-04-23 21:50:55 +02:00
Damien Doligez bcaaaf9b51 first commit after branching 4.09 2019-04-23 14:24:29 +02:00
Damien Doligez 0d2d75a0b0 last commit before branching 4.09 2019-04-23 14:22:39 +02:00
Jeremie Dimino 1f026fd748 Fix #8635 2019-04-23 12:20:37 +01:00
Sébastien Hinderer cf8d6fd803 Fix build of standard library
There were a few buggy rules in stdlib/Makefile, fix them.
2019-04-20 14:28:57 +01:00
David Allsopp f89a9dab5f Update Changes for #8627 2019-04-19 22:27:20 +02:00
David Allsopp 4dc48fafaf Enable SSE2 for i686 mingw32
GCC 7.4 generates incorrect code for caml_round by using 80-bit registers
instead of 64-bit registers for the calculations.
2019-04-19 20:44:49 +02:00
Jacques Garrigue 1a17d4d355 add PR number for #7851 2019-04-19 11:18:20 +09:00
Jacques Garrigue 4fe08b25d6
Fix #7851 by checking type declaration coherence for recursive modules (#8570) 2019-04-19 10:57:55 +09:00
Damien Doligez f67b6eba6c release-checklist: remove section on updating Mantis 2019-04-18 15:22:37 +02:00
Jeremy Yallop 834a5339b0 Closes #7865 via a non-regression test.
Check that the bogus "Self type cannot escape its class" error that
appeared in 4.07.0 does not recur.
2019-04-18 08:40:13 +01:00
Sébastien Hinderer fec02ff66d ocamltest: define and export the arch variable 2019-04-17 15:48:10 +02:00
Gabriel Scherer c39e4d2d15
Merge pull request #8597 from gasche/buffer-trickeries
Buffer trickeries
2019-04-17 11:22:00 +02:00
Leo White 26389cb4ef Remove out-of-date comment
This comment was made unnecessary by GPR#1610.
2019-04-16 16:29:56 +01:00
Gabriel Scherer f138e1be40 buffer: more detailed explanation of the [resize] reasoning 2019-04-16 17:29:26 +02:00
Thomas Refis a8fd17f8ce
Merge pull request #8586 from trefis/pr8548
Explicitly rescope idents when substituting signatures
2019-04-16 13:10:40 +01:00
Nicolás Ojeda Bär 51edd5117f
Merge pull request #8607 from stedolan/sane-nan
Remove LACKS_SANE_NAN and LACKS_VCSPRINTF.
2019-04-16 12:18:20 +02:00
Thomas Refis af8d7c75af Changes 2019-04-16 10:56:24 +01:00
Thomas Refis b64559cbc8 update testsuite 2019-04-16 10:56:05 +01:00
Thomas Refis d5045242c4 typemod: explicitly make items of packed signatures local 2019-04-16 10:56:05 +01:00
Thomas Refis dc8e602641 typemod: properly scope result of functor application 2019-04-16 10:56:05 +01:00
Thomas Refis 88fc47d9ae typemod: keep scoping consistent inside check_recmodule_inclusion 2019-04-16 10:56:05 +01:00
Thomas Refis 1758392e17 typemod: do not change the scope when simplifying a signature 2019-04-16 10:56:05 +01:00
Thomas Refis 81093699e7 typemod: rescope items coming from a constrained signature 2019-04-16 10:56:05 +01:00