Commit Graph

3164 Commits (49aa87c316c441aa47974e8e9191a5a7e6d03d9a)

Author SHA1 Message Date
hhugo 49aa87c316
Introduce warning 68 to warn about hidden allocation due to pattern match of mutable field in curried functions (#9751)
Introduce new warning 68
2020-08-17 09:47:36 +01:00
Gabriel Scherer 68218d1906 Changes: reorder 4.11 Changes entries 2020-08-11 22:58:51 +02:00
Gabriel Scherer 07ddbe22eb Changes: #9790 is in 4.12, not 4.11 2020-08-11 22:33:11 +02:00
Gabriel Scherer f89356b89c Changes: #9795 is in 4.12, not 4.11 2020-08-11 22:33:11 +02:00
Gabriel Scherer 42b9d66ec9 Changes: #9464 is in 4.12, not 4.11 2020-08-11 22:33:11 +02:00
Gabriel Scherer 2a2e425b50 Changes: the rest of #9724 went into 4.11, not 4.12+dev 2020-08-11 22:33:11 +02:00
Gabriel Scherer 0ec62d1dfd Changes: #9389 was merged in 4.11 2020-08-11 22:33:11 +02:00
Gabriel Scherer d0da7e7079 Changes: #9181 went into 4.10.1 2020-08-11 22:33:11 +02:00
Gabriel Scherer 625f4f6f23 Changes: #9401 went into 4.11 2020-08-11 22:33:11 +02:00
Gabriel Scherer fc3a8ef00e Changes: #9275 went into 4.11 2020-08-11 22:33:11 +02:00
Gabriel Scherer 0c62a43891 Changes: #9422 went into 4.11 2020-08-11 22:33:11 +02:00
Gabriel Scherer a459c5f8d9 Changes: #9552 went into 4.10.1 2020-08-11 22:33:11 +02:00
Gabriel Scherer 15bcfa2ae7 Changes: some part of #9724 went into 4.10.1 2020-08-11 22:33:11 +02:00
Gabriel Scherer d61527df10 Changes: #9349 entry was misplaced 2020-08-11 22:33:11 +02:00
Gabriel Scherer 34a074f275 Changes: minor fixes backported from 4.10 2020-08-11 22:33:11 +02:00
Sébastien Hinderer 478127ff43 Build system: use OC_CFLAGS and CFLAGS even during the link stage 2020-08-10 13:52:47 +02:00
David Allsopp 8b80c57fb2 Remove use of ln -sf from ocamltest
Implemented ln -sfT exactly on Unix and almost exactly on Windows.
2020-07-23 15:05:00 +01:00
David Allsopp f341db8dbe Add Sys.rmdir 2020-07-21 15:36:43 +01:00
David Allsopp 9a7a17c012 Add Sys.mkdir 2020-07-21 14:15:40 +01: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
Jeremy Yallop 395a47eed9
Add Bigarray 'init' functions (#9779)
Add Bigarray init functions.
2020-08-05 13:26:10 +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
Stephen Dolan 5b4b834578
Ensure signals are handled before Unix.{kill,sigprocmask} return (#9802) 2020-07-30 14:30:42 +01: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
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
Fourchaux 44e6cf4e0f
typos (#9806) 2020-07-28 12:22:03 +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
Xavier Leroy e41dc9c443
Merge pull request #9752 from xavierleroy/c-calling-conventions
Revised handing of calling conventions for external C functions
2020-07-25 09:50:42 +02:00
Xavier Leroy cc25fc9342 Changes entry for #9752 2020-07-24 17:39:27 +02:00
Daniel Bünzli 80326033cb
ocamldep: do not process files during cli parsing. (#9795)
It leads to broken cli behaviour. Closes #9299.
2020-07-23 21:00:26 +02:00
Daniel Bünzli 1578a359e0 Dynlink.*_unit functions: make sure they call the internal init ().
Otherwise they report inaccurate information before any load
occurs. Closes #9338.
2020-07-23 11:38:39 +02:00
Gabriel Scherer b1d1c0b77c
Merge pull request #9657 from nojb/warning_mnemonics
Add mnemonics for warnings
2020-07-21 11:47:37 +02:00
Nicolás Ojeda Bär a803cd4cc2
Merge pull request #9781 from yallop/injective-stdlib
Add some injectivity annotations to the standard library.
2020-07-20 19:40:50 +02:00
Xavier Leroy 1e71f75ec4
Selectgen#bind_let_mut: use self#regs_for to allocate target registers (#9782)
Software emulation of floating-point arithmetic, as in the ARM EABI port,
use pairs of pseudoregisters of type Int to represent values of type Float.

This is achieved by the `regs_for` method of class `selector_generic`,
which defaults to `Reg.createv` but is overriden for ARM EABI so
as to perform the transformation Float -> Int,Int on the fly.

The method `bind_let_mut` uses `Reg.createv` to associate
pseudoregisters to bound variables.  This is incorrect in a soft FP
context, as a bound variable of type Float will get a Float register
nonetheless.  `self#regs_for` must be used instead.  This is what this
commit does.
2020-07-20 11:24:37 +02:00
Nicolás Ojeda Bär 5e274544e3 check-typo 2020-07-20 08:31:18 +02:00
Nicolás Ojeda Bär af8ecadab5 Changes 2020-07-20 08:31:18 +02:00
Nicolás Ojeda Bär db9b707e0c
Merge pull request #9763 from xavierleroy/remove-old-hash-function
Remove pre-4.00 generic hash function
2020-07-20 08:10:18 +02:00
Jeremy Yallop 568a0f5e1c Stdlib injectivity annotations: Changes. 2020-07-20 06:51:18 +01:00
Matthew Ryan dd7ddf9e71
Fix printing of bindings with polymorphic type annotations and attributes (#9778) 2020-07-20 06:10:13 +02:00
Xavier Leroy 569085b8c2 Changes entry for #9763 2020-07-19 20:09:51 +02:00
Jacques-Henri Jourdan 95400d7ee0 Make Ephemeron compatible with infix pointers. 2020-07-18 08:07:35 +02:00
Antonin Décimo fb6cfaf74c
Mark new macros Val_none, etc as as a potentially breaking change (#9734)
If an OCaml C library already defines some of the new `Val_none`,
`Some_val`, `Is_none`, `Is_some`, `caml_alloc_some`, or `Tag_some`
macros; then the C compiler will likely warn for macro redefinition,
even if the macro definition are identical.
2020-07-17 14:15:26 +02:00
Damien Doligez e509c796f5 fix and move Changes entry for #9749 2020-07-17 12:21:50 +02:00
Damien Doligez 85e4563b72 The best-fit allocator must prepare the heap for compaction. Fixes #9736 2020-07-15 11:53:46 +02:00
Xavier Leroy 0802bacf4b
Merge pull request #9551 from nojb/microbfd
Implement (in utils/binutils.ml) a simple parser for ELF, Mach-O and PE shared object files.  Use it to get rid of libbfd in ocamlobjinfo and to improve the checking of external primitives during linking in ocamlc.
2020-07-14 10:47:12 +02:00
Xavier Leroy 8948dabfc2 Add Changes entry for PR #9551 2020-07-14 10:43:35 +02:00