Commit Graph

18364 Commits (6efe8fea5b6c3f1db22e50e8b164d6ffec85578d)

Author SHA1 Message Date
Jacques-Henri Jourdan 08ed1e85cd Fix Thread.sigmask, take 2 (#2211)
Fix Thread.sigmaks, by checking whether a signal is masked before handling it.

We use [sigprocmask] (if available) to check whether a signal is
blocked when the systhread library is not loaded. As soon as the
[Thread] module gets loaded, we use [pthread_sigmask] instead, and
redirect all the calls to [sigprocmask] to [pthread_sigmask].  Indeed,
the latter has unspecified behavior in a multi-threaded context
anyway.  In practice, this should not change the semantics of
[Unix.sigprocmask] on Linux, since on this platform, [pthread_sigmask]
is actually an alias for [sigprocmask]. On MacOSX, the semantics will
change, since [sigprocmask] changes the masks of the whole process on
this platform.

Also, include [caml_pending_signals] in signals returned by
[Unix.sigpending]. Indeed, some signals might have been handled in the
POSIX sense by the C handler in the OCaml runtime, but not been
handled in the OCaml sense (for example, because they are blocked).

This commit un-reverts 1c82c481a, which has been reverted in
79eb572e4. The issues of the original commit are corrected in this commit.
2019-03-01 14:14:29 +01:00
Gabriel Scherer 56c6786d5c value letrec: fix a bug in analysis of inner mutually-recursive bindings
Jeremy Yallop and myself found this bug while trying to prove the
soudness of the analysis.
2019-03-01 12:48:26 +01:00
Damien Doligez 66117d2cc4 small fixes to release-checklist 2019-03-01 12:00:27 +01:00
David Allsopp 0e27f952b9 Update changes for GPR#2160 2019-03-01 09:50:07 +00:00
Sébastien Hinderer 652cc148a9 Disable rebase on Cygwin 64 in Inria's CI
We do not perform the rebase which is not necessary when building
shared libraries.
2019-03-01 09:26:33 +01:00
Florian Angeletti e0a11fe2e3
Merge pull request #2269 from Octachron/bugfix_self_closed
restore the error message for closing a self type
2019-02-28 20:15:31 +01:00
Cedric Cellier 30f2cb1d81 Constify "identifier" in struct custom_operations (#2240)
Because otherwise it is not possible to initialize it with a constant
C string when compiling with a C++ compiler without getting a warning:

    ISO C++11 does not allow conversion from string literal to 'char *'
      [-Wwritable-strings]

No tests seams to be more annoyed by this change but of course it is
always possible that some code in the wild relies on this field to be
non-const. This is indeed an API change, although a trivial one.
2019-02-28 16:32:55 +01:00
David Allsopp 1626a018d8 Remove unnecessary executable bit from sources (#2270)
Various files which seem to have acquired Git executable bits.
File contents are unchanged; only permissions are changed.
2019-02-28 16:29:26 +01:00
David Allsopp 899b48a6df Cygwin should have EXE=.exe (#2266) 2019-02-28 11:41:47 +01:00
David Allsopp 8831395f32 Move FLEXDLL_DIR definition to utils/Makefile (#2259)
Missed in d68e0e207. Fixes second part of MPR#7923.
2019-02-28 11:21:52 +01:00
Gabriel Scherer d200181712
Merge pull request #2271 from Armael/testsuite-env-vars
ocamltest: explicitly set OCAML_ERROR_STYLE
2019-02-27 20:54:09 +01:00
Armaël Guéneau 00411d41f4 ocamltest: explicitly set OCAML_ERROR_STYLE
Explicitly set OCAML_ERROR_STYLE to its default value when running tests,
instead of inheriting the one coming from the outside environment.
2019-02-27 15:13:56 +01:00
Florian Angeletti 28ebbc2e88 testsuite: test "no intersection" error message
test the error message for non-intersecting polymorphic variant types.
2019-02-27 14:06:51 +01:00
Florian Angeletti c8a15cf006 bugfix: restore "self cannot be closed" error message 2019-02-27 14:06:51 +01:00
Nicolás Ojeda Bär 5b564b044e Move Changes entry to the right place 2019-02-27 12:29:20 +01:00
Nicolás Ojeda Bär 7dfbfc6b06
Merge pull request #2264 from nojb/autoconf_windows_unicode
configure: add WINDOWS_UNICODE_MODE variable
2019-02-27 11:45:10 +01:00
Nicolás Ojeda Bär 60a7320619 configure: add WINDOWS_UNICODE_MODE variable 2019-02-27 11:42:04 +01:00
David Allsopp 46c32f8ce0 Additional executable file from GPR#614
Subsequently moved!
2019-02-27 10:19:09 +00:00
David Allsopp a16bef478e Remove unnecesary executable bit from sources
Added in cad3b523 in GPR#614 (presumably misconfigured core.fileMode)
2019-02-27 10:09:08 +00:00
Mark Shinwell 3133699187
Add bytecomp/opcodes.mli (#2265) 2019-02-26 16:17:38 +00:00
Gabriel Scherer 39f8c80e89
Merge pull request #2257 from gasche/mpr7918
MPR#7918: fix 4.08+dev regression, object files would remain after build error
2019-02-26 15:53:19 +01:00
Jeremie Dimino 8d8df4e1d8 Delete the deprecated Bigarray.*.map_file functions
Signed-off-by: Jeremie Dimino <jeremie@dimino.org>
2019-02-26 11:13:44 +00:00
David Allsopp 7bd3162313 Support otherlibs with no COBJS 2019-02-26 11:13:44 +00:00
Gabriel Scherer 9abdd66f04 regression test for MPR#7918 2019-02-26 08:16:07 +01:00
Gabriel Scherer 43793390b9 MPR#7918: fix 4.08+dev regression, object files would remain after build error 2019-02-26 08:16:07 +01:00
Thomas Refis 05913e6ce3 add GPR number on change entry 2019-02-25 16:24:48 +00:00
Thomas Refis 4fd7020f53 Changes 2019-02-25 09:48:50 +00:00
Thomas Refis d29455fcd4 enforce that every call to save_desc is necessarily followed by cleanup_types (#2261) 2019-02-25 09:48:50 +00:00
Thomas Refis 3a7c692274 Subst.signature: call cleanup_types exactly once. (#2261) 2019-02-25 09:48:28 +00:00
Jérémie Dimino 64603e7ad3 Re-enable the mapfile tests (#2255)
It seems that they were disabled by accident in commit  b2a0f3b.
2019-02-22 16:28:21 +01:00
Jeremie Dimino e0cf24ac8b Move changelog entry for #2248 to trunk 2019-02-21 15:40:17 +00:00
Tim Cuthbertson 3424192d48 alloc_sockaddr: handle abstract paths (v2) (#2248)
Second version of b743ea476b
2019-02-21 15:37:25 +00:00
Pierre Chambart 74182ae679
Merge pull request #1965 from lthls/remove_iloop
Remove loop constructors in Cmm and Mach
2019-02-21 16:33:51 +01:00
Pierre Chambart 27ce27ee7b
Merge branch 'trunk' into remove_iloop 2019-02-21 16:31:06 +01:00
Pierre Chambart b99e54fedc
Merge pull request #1973 from lthls/multihandlers
Fix compilation of catches with multiple handlers
2019-02-21 16:27:57 +01:00
Leo White e0a35311b0 Add Changes entry 2019-02-21 13:57:30 +00:00
Leo White eb98c8f5c5 Fix fatal error compiling module aliases 2019-02-21 13:57:30 +00:00
Sébastien Hinderer 6da5262dd1 Bump magic numbers to keep in sync with the 4.08 branch
This commit is the trunk counterpart of
e413426bc766c9046a18b873a417b596bf0871d7 on the 4.08 branch
2019-02-21 11:25:23 +01:00
Gabriel Scherer 96518644f5 fix dune build
(dune seems to choke on some 4.08 features that were used in the Env
codebase already. It's not a bad idea to ensure that the compiler
codebase works well with 4.07.)
2019-02-20 22:40:58 +01:00
Kate 17e2614682 Correct name of a contributor 2019-02-20 16:51:56 +00:00
Vincent Laviron 08fa9a5fcb Update Changes 2019-02-19 17:13:50 +01:00
Vincent Laviron 6bfc0f1a7b Fix compilation of catches with multiple handlers 2019-02-19 17:12:09 +01:00
Vincent Laviron 4126ca216d Update Changes 2019-02-19 17:02:21 +01:00
Vincent Laviron 98654c77de Remove loop constructors in Cmm and Mach 2019-02-19 17:00:38 +01:00
Damien Doligez 58f9eff953 bump magic numbers and bootstrap to catch up with branch 4.08 (#2249) 2019-02-19 15:57:28 +01:00
Sébastien Hinderer c4d0fec025 Remove spurious file in testsuite
This commit removes an unused file introduced by commit
6526a0c3d9

It is important to remove this file because it does not quite work:
it assumes ocamlc.byte has already been installed and thus uses an
installed compiler rather than the one to test so that would be a
misleading source of inspiration for test writers.
2019-02-19 15:48:31 +01:00
Daniel Bünzli f7cf156e19 stdlib.mli: add a stable doc link to the list of modules. 2019-02-19 11:40:57 +00:00
Gabriel Scherer b145a4114e
Merge pull request #2228 from gasche/refactor-env
Refactor typing/env to separate the filesystem-related logic
2019-02-18 21:16:56 +01:00
Gabriel Scherer 7c638e32be Changes entry 2019-02-18 17:03:16 +01:00
Gabriel Scherer e82a28af60 env refactoring: use a custom ADT for missing pers_struct entries
The hope is that a tailor-made algebraic datatype is more readable /
less confusing than using ('a option) directly -- one may confuse
getting None when looking in a table with the Not_found case.

(Suggested by Jérémie Dimino)
2019-02-18 17:03:16 +01:00