Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OCaml 5.2.0~beta1 opam packages #25578

Merged
merged 1 commit into from
Mar 25, 2024
Merged

Conversation

Octachron
Copy link
Member

@Octachron Octachron commented Mar 25, 2024

This PR adds the opam packages for the first beta release of OCaml 5.2.0 (ocaml-base and ocaml-variants.5.2.0~beta1+options).

Compared to the first alpha, this beta release contains a majority of runtime-related fixes, and
a handful of fixes uniformly distributed on various subsystems
(build and configuration, error messages, type system, standard library, compiler internals).


Changes compared to the first alpha release

Runtime system

  • 12875, 12879, 12882: Execute preemptive systhread switching as a
    delayed pending action. This ensures that one can reason within the
    FFI that no mutation happens on the same domain when allocating on
    the OCaml heap from C, consistently with OCaml 4. This also fixes
    further bugs with the multicore systhreads implementation.
    (Guillaume Munch-Maccagnoni, bug reports and suggestion by Mark
    Shinwell, review by Nick Barnes and Stephen Dolan)

  • 12876: Port ThreadSanitizer support to Linux on POWER
    (Miod Vallat, review by Tim McGilchrist)

  • 12678, 12898: free channel buffers on close rather than on finalization
    (Damien Doligez, review by Jan Midtgaard and Gabriel Scherer, report
    by Jan Midtgaard)

  • 12915: Port ThreadSanitizer support to Linux on s390x
    (Miod Vallat, review by Tim McGilchrist)

  • 12914: Slightly change the s390x assembly dialect in order to build with
    Clang's integrated assembler.
    (Miod Vallat, review by Gabriel Scherer)

  • 12897: fix locking bugs in Runtime_events
    (Gabriel Scherer and Thomas Leonard,
    review by Olivier Nicole, Vincent Laviron and Damien Doligez,
    report by Thomas Leonard)

  • 12860: Fix an assertion that wasn't taking into account the possibility of an
    ephemeron pointing at static data.
    (Mark Shinwell, review by Gabriel Scherer and KC Sivaramakrishnan)

  • 11040, 12894: Silence false data race observed between caml_shared_try_alloc
    and oldify. Introduces macros to call tsan annotations which help annotate
    a ``happens before'' relationship.
    (Hari Hara Naveen S and Olivier Nicole,
    review by Gabriel Scherer and Miod Vallat)

  • 12919: Fix register corruption in caml_callback2_asm on s390x.
    (Miod Vallat, review by Gabriel Scherer)

  • 12969: Fix a data race in caml_darken_cont
    (Fabrice Buoro and Olivier Nicole, review by Gabriel Scherer and Miod Vallat)

Standard library

  • 12677, 12889: make Domain.DLS thread-safe
    (Gabriel Scherer, review by Olivier Nicole and Damien Doligez,
    report by Vesa Karvonen)

Type system

  • 12924, 12930: Rework package constraint checking to improve interaction with
    immediacy
    (Chris Casinghino and Florian Angeletti, review by Florian Angeletti and
    Richard Eisenberg)

Compiler user-interface

  • 12971, 12974: fix an uncaught Ctype.Escape exception on some
    invalid programs forming recursive types.
    (Gabriel Scherer, review by Florian Angeletti, report by Neven Villani)

Build system

  • 12198, 12321, 12586, 12616, 12706, +13048: continue the merge of the
    sub-makefiles into the root Makefile started with 11243, 11248,
    11268, 11420 and 11675.
    (Sébastien Hinderer, review by David Allsopp and Florian Angeletti)

  • 12768, +13030: Detect mingw-w64 coupling with GCC or LLVM, detect clang-cl,
    and fix C compiler feature detection on macOS.
    (Antonin Décimo, review by Miod Vallat and Sébastien Hinderer)

  • 13019: Remove linking instructions for the Unix library from threads.cma
    (this was done for threads.cmxa in OCaml 3.11). Eliminates warnings from
    new lld when using threads.cma of duplicated libraries.
    (David Allsopp, review by Nicolás Ojeda Bär)
  • 12758, +12998: Remove the Marshal.Compression flag to the
    Marshal.to_* functions. The compilers are still able to use
    ZSTD compression for compilation artefacts.
    This is a forward port and clean-up of the emergency fix that was introduced

Compiler internals

  • 12389, 12544, 12984, +12987: centralize the handling of metadata for
    compilation units and artifacts in preparation for better unicode support for
    OCaml source files.
    (Florian Angeletti, review by Vincent Laviron and Gabriel Scherer)

@mseri mseri merged commit 1c3af75 into ocaml:master Mar 25, 2024
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants