Commit Graph

20568 Commits (9bc33d945a66bdaaf4124acf70a19761a8e43e92)

Author SHA1 Message Date
David Allsopp 9bc33d945a Add Ocamltest_stdlib.Unix.has_symlink
Replaces the duplicated C stub. Functions from Unix must be explictly
imported.
2020-07-23 14:55:36 +01:00
David Allsopp f341db8dbe Add Sys.rmdir 2020-07-21 15:36:43 +01:00
David Allsopp 496cc8b3a1 Remove incorrect stub in ocamltest_stdlib_stubs.c
Miscopied from win32unix.
2020-07-21 14:33:08 +01:00
David Allsopp 99f56de82d Use Sys.mkdir in ocamltest instead of shell call 2020-07-21 14:27:52 +01:00
David Allsopp 9a7a17c012 Add Sys.mkdir 2020-07-21 14:15:40 +01:00
David Allsopp 5da188b3ff
Merge pull request #9824 from shindere/honour-cflags-cppflags
Build system: honour the CFLAGS and CPPFLAGS build variables
2020-08-06 15:37:22 +01:00
Sébastien Hinderer 7c0623b33e Simplify the tools/ci/inria/extra-checks script
Use the ability to pass flags to the C compiler at configure time
to simplify this CI script.

Looking at the diff, it may seem that some flags like -fwrapv,
-fno-strict-aliasing, -Wall and -Werror got lost by this commit.
It is actually not the case. In its previous version, this script was
overriding the flags as defined by the compiler's build system, so it
had to provide a rather exhaustive list of flags. Now one only needs to
add the flags specific to the build one wishes to do. The flags mentionned above*
are provided by the compiler's build system so they do not need to be mentionned
here any longer.
2020-08-06 14:31:09 +02:00
Sébastien Hinderer f3ff1337a1 Build system: honour the CFLAGS and CPPFLAGS build variables
With this commit, it becomes possible to provide C compiler and preprocessor
flags to use in addition to those defined by the build system.

As required by the GNU coding standards, the flags can be provided
either at configure or at make invocation.

The provided CFLAGS and CPPFLAGS will also be taken into account
when C code is compiled by ocamlc/ocamlopt.

This commit removes the explicit reference to CFLAGS in the
configuration for the xlc compiler, since it is not necessary any longer.
2020-08-06 14:30:50 +02:00
Florian Angeletti b73b8a3299
Merge pull request #9831 from yallop/short-paths-show-fix
Fix #show with -short-paths
2020-08-06 10:44:20 +02:00
David Allsopp 5d14357437
Merge pull request #9832 from avsm/skip-locations-test-in-afl
Restrict 'test_locations' to not run with afl active
2020-08-06 09:31:07 +01:00
Anil Madhavapeddy 829b00b6c7 Restrict 'test_locations' to not run with afl active
The AFL code generator alters the generated output and the
expect tests fail.  This test is already restricted to 64-bit
only architectures for similar reasons (the output locations
change).

Also updates the expected outputs to account for the extra line
in the test case now.

Fixes #9822
2020-08-05 20:04:34 +01:00
Sébastien Hinderer df9d60f315 Get rid of the YACCFLAGS build variable
It was not used, except in lex/Makefile where this commit replaces its
unique occurrence by its definition in the same file.
2020-08-05 14:46:40 +02:00
Jeremy Yallop 395a47eed9
Add Bigarray 'init' functions (#9779)
Add Bigarray init functions.
2020-08-05 13:26:10 +01:00
David Allsopp 93fe89e150
Merge pull request #9823 from stedolan/fix-flat-floatarray-test
Fix floatarray.ml on 32-bit
2020-08-05 11:57:23 +01:00
Jeremy Yallop 27f1012bc6 Revert to printing types as 'nonrec' to avoid a bug
See: https://github.com/ocaml/ocaml/issues/9828
2020-08-05 11:21:11 +01:00
Jeremy Yallop aa06fa819e Add a failing test for #show with -short-paths. 2020-08-05 11:00:02 +01:00
Xavier Leroy 1964506dbe
Fix type mismatches between definition and declaration (#9830)
The C global variable caml_fl_merge and the C function
caml_spacetime_my_profinfo (bytecode version) were declared and
defined with different types.  This is undefined behavior and
can cause link-time errors with link-time optimization (LTO).

Closes: #9825
2020-08-05 11:17:52 +02:00
David Allsopp 8905edd382 Trivial correction to stdlib/HACKING.adoc 2020-08-04 15:01:50 +01:00
Stephen Dolan 3f5c5ca820 fix floatarray.ml on 32-bit 2020-08-03 18:47:40 +01:00
Sébastien Hinderer bf888763cd tools/ci/inria/extra-checks: stop mentionning the world target
This change is similar to the one in commit 2d927d8be6.
2020-08-03 16:44:23 +02:00
Sébastien Hinderer f3e7475b6a tools/ci/inria/extra-checks: fix another typo 2020-08-03 16:43:46 +02:00
Sébastien Hinderer 2d927d8be6 tools/ci/inria/extra-checks: stop mentionninig world.opt explicitly
this is now what's happening by default when the bytecode compiler
has not been disabled, and it has not, here.
2020-08-03 15:41:02 +02:00
Sébastien Hinderer 5cb2218044 tools/ci/inria/extra-checks: print each command before its execution 2020-08-03 15:05:38 +02:00
Sébastien Hinderer 4d7e78f224 tools/ci/inria/extra-checks: fix typos 2020-08-03 15:05:32 +02:00
Nicolás Ojeda Bär 7c1cf4bc95
caml_alloc_some: use Field as an l-value instead of Store_field (#9819) 2020-08-03 11:44:49 +02:00
Stephen Dolan 0bf255cd7e
Fix signals_alloc test (#9814) 2020-08-02 21:30:58 +02:00
Xavier Leroy 8b6241c64c Skip tests/unwind on iOS / macOS ARM64, continued
Follow-up to 482b7feb3
2020-07-31 09:29:43 +02:00
Xavier Leroy 482b7feb37 Skip tests/unwind on iOS / macOS ARM64
On iOS / macOS ARM64, libunwind seems unable to unwind anything, not
just OCaml function calls, but even C function calls.  Maybe this is
related to the observation that the C compiler doesn't produce DWARF
unwinding info by default.

The DWARF unwinding info produced by ocamlopt seems correct, given that
lldb prints correct stack backtraces for this "unwind" example.
2020-07-31 09:04:20 +02:00
Stephen Dolan 5b4b834578
Ensure signals are handled before Unix.{kill,sigprocmask} return (#9802) 2020-07-30 14:30:42 +01:00
Sébastien Hinderer 24744e8dd8 cehck-typo 2020-07-30 10:23:17 +02:00
David Allsopp a7ecba9045
Merge pull request #9804 from stedolan/otherlibs-debug
Build otherlibs with debug info in C stubs
2020-07-29 19:58:36 +01:00
David Allsopp fb971b09f2
Merge pull request #9805 from dra27/testsuite-tweaks
2 testsuite tweaks
2020-07-29 19:44:24 +01:00
David Allsopp 2bba32a1fb
Merge pull request #9808 from dra27/ocamltest-toplevel
Fix running win-unicode test
2020-07-29 11:29:47 +01:00
Jacques Garrigue 302d735ce8
Righteous ambivalence (#9767)
* Fix #9759: Typing without -principal is broken in 4.11 and trunk
* compile stdlib in -principal mode
* never modify generic part of ty_expected_explained
* use generic_instance where possible
* add comment for -no-principal in stdlib__oo.cmi
2020-07-29 09:10:17 +09:00
Xavier Leroy 8b3ac9bcb2
Merge pull request #9722 from stedolan/eintr-again
EINTR-based signal handling: ensure that signals are handled
only at polling points, and that I/O locks are not held during signal
handling.
2020-07-28 19:20:57 +02:00
Stephen Dolan a741f25803 Build otherlibs with debug info in C stubs 2020-07-28 17:30:28 +01:00
Stephen Dolan e0b5f5e1cf Changes 2020-07-28 17:03:06 +01:00
Xavier Leroy 274cb3c3ce Changes entry for #9699 2020-07-28 16:41:23 +02:00
Xavier Leroy a0a1ba4f1e
Merge pull request #9699 from EduardoRFS/trunk-ios
Add support for iOS and macOS on ARM64
2020-07-28 16:40:55 +02:00
Fourchaux 44e6cf4e0f
typos (#9806) 2020-07-28 12:22:03 +01:00
David Allsopp df705bce12 Fix running toplevel tests in ocamltest
Fault in the logic for toplevel tests meant the win-unicode tests were
never running.
2020-07-28 10:57:44 +01:00
Stephen Dolan c2b2da2234 Tests for EINTR-based signal handling 2020-07-28 10:54:54 +01:00
Stephen Dolan 15b9d006a4 Avoid polling in caml_leave_blocking_section
To preserve behaviour, explicit polls are added:

   - in caml_raise, to raise the right exception when as system
     call is interrupted by a signal.

   - in sigprocmask, to ensure that signals are handled as soon
     as they are unmasked.
2020-07-28 10:54:54 +01:00
Xavier Leroy 82625c6105 test/unwind: exit with nonzero error code in case of failure
Follow-up to d374d7d23
2020-07-28 10:27:07 +02:00
Stephen Dolan 63d516bda1 Avoid running signal handlers while holding locks in io.c 2020-07-27 17:29:39 +01:00
Stephen Dolan 32feddc1fc Do not run OCaml code inside signal handlers 2020-07-27 17:29:39 +01:00
Stephen Dolan e678885007 Lock channels before doing I/O
The debugger's use of channels doesn't support locking, but it
doesn't work on threaded programs anyway.
2020-07-27 17:29:39 +01:00
David Allsopp a9fc1cd84f Assume --no-print-directory option
At the time the test was added, GNU make was not a requirement. It is
now, an --no-print-directory was added in 1993...
2020-07-27 16:33:41 +01:00
David Allsopp 2317acc0c0 Return tests in alphabetical order 2020-07-27 16:28:27 +01:00
Xavier Leroy ba2b98608a
Merge pull request #9742 from jhjourdan/fix_7810
Make Ephemeron compatible with infix pointers.
2020-07-27 16:51:14 +02:00