From: Stéphane Glondu Date: Mon, 18 Sep 2023 11:35:46 +0000 (+0200) Subject: New upstream version 4.14.0 X-Git-Tag: archive/raspbian/4.14.1-1+rpi1^2~15^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=8da85efa39dcad3d494aaaff5f729e8bb861cdd0;p=ocaml.git New upstream version 4.14.0 --- diff --git a/.depend b/.depend index b516be08..dfc878b3 100644 --- a/.depend +++ b/.depend @@ -59,10 +59,23 @@ utils/consistbl.cmx : \ utils/consistbl.cmi : \ utils/misc.cmi utils/diffing.cmo : \ + utils/misc.cmi \ utils/diffing.cmi utils/diffing.cmx : \ + utils/misc.cmx \ + utils/diffing.cmi +utils/diffing.cmi : \ + utils/misc.cmi +utils/diffing_with_keys.cmo : \ + utils/misc.cmi \ + utils/diffing.cmi \ + utils/diffing_with_keys.cmi +utils/diffing_with_keys.cmx : \ + utils/misc.cmx \ + utils/diffing.cmx \ + utils/diffing_with_keys.cmi +utils/diffing_with_keys.cmi : \ utils/diffing.cmi -utils/diffing.cmi : utils/domainstate.cmo : \ utils/domainstate.cmi utils/domainstate.cmx : \ @@ -538,6 +551,7 @@ typing/ctype.cmi : \ typing/ident.cmi \ typing/errortrace.cmi \ typing/env.cmi \ + typing/btype.cmi \ parsing/asttypes.cmi typing/datarepr.cmo : \ typing/types.cmi \ @@ -563,6 +577,7 @@ typing/env.cmo : \ utils/warnings.cmi \ typing/types.cmi \ typing/subst.cmi \ + typing/shape.cmi \ typing/predef.cmi \ typing/persistent_env.cmi \ typing/path.cmi \ @@ -584,6 +599,7 @@ typing/env.cmx : \ utils/warnings.cmx \ typing/types.cmx \ typing/subst.cmx \ + typing/shape.cmx \ typing/predef.cmx \ typing/persistent_env.cmx \ typing/path.cmx \ @@ -605,6 +621,7 @@ typing/env.cmi : \ utils/warnings.cmi \ typing/types.cmi \ typing/subst.cmi \ + typing/shape.cmi \ typing/path.cmi \ utils/misc.cmi \ parsing/longident.cmi \ @@ -679,6 +696,7 @@ typing/includeclass.cmx : \ typing/includeclass.cmi typing/includeclass.cmi : \ typing/types.cmi \ + typing/printtyp.cmi \ parsing/location.cmi \ typing/env.cmi \ typing/ctype.cmi @@ -689,9 +707,11 @@ typing/includecore.cmo : \ typing/printtyp.cmi \ typing/primitive.cmi \ typing/path.cmi \ + utils/misc.cmi \ typing/ident.cmi \ typing/errortrace.cmi \ typing/env.cmi \ + utils/diffing_with_keys.cmi \ typing/ctype.cmi \ parsing/builtin_attributes.cmi \ typing/btype.cmi \ @@ -704,9 +724,11 @@ typing/includecore.cmx : \ typing/printtyp.cmx \ typing/primitive.cmx \ typing/path.cmx \ + utils/misc.cmx \ typing/ident.cmx \ typing/errortrace.cmx \ typing/env.cmx \ + utils/diffing_with_keys.cmx \ typing/ctype.cmx \ parsing/builtin_attributes.cmx \ typing/btype.cmx \ @@ -720,11 +742,13 @@ typing/includecore.cmi : \ parsing/location.cmi \ typing/ident.cmi \ typing/errortrace.cmi \ - typing/env.cmi + typing/env.cmi \ + utils/diffing_with_keys.cmi typing/includemod.cmo : \ typing/types.cmi \ typing/typedtree.cmi \ typing/subst.cmi \ + typing/shape.cmi \ typing/printtyp.cmi \ typing/primitive.cmi \ typing/predef.cmi \ @@ -747,6 +771,7 @@ typing/includemod.cmx : \ typing/types.cmx \ typing/typedtree.cmx \ typing/subst.cmx \ + typing/shape.cmx \ typing/printtyp.cmx \ typing/primitive.cmx \ typing/predef.cmx \ @@ -768,6 +793,7 @@ typing/includemod.cmx : \ typing/includemod.cmi : \ typing/types.cmi \ typing/typedtree.cmi \ + typing/shape.cmi \ typing/path.cmi \ parsing/longident.cmi \ parsing/location.cmi \ @@ -923,7 +949,6 @@ typing/patterns.cmo : \ typing/ident.cmi \ typing/env.cmi \ typing/ctype.cmi \ - typing/btype.cmi \ parsing/asttypes.cmi \ typing/patterns.cmi typing/patterns.cmx : \ @@ -934,7 +959,6 @@ typing/patterns.cmx : \ typing/ident.cmx \ typing/env.cmx \ typing/ctype.cmx \ - typing/btype.cmx \ parsing/asttypes.cmi \ typing/patterns.cmi typing/patterns.cmi : \ @@ -1089,6 +1113,7 @@ typing/printtyped.cmo : \ typing/types.cmi \ typing/typedtree.cmi \ parsing/printast.cmi \ + parsing/pprintast.cmi \ typing/path.cmi \ parsing/parsetree.cmi \ parsing/longident.cmi \ @@ -1101,6 +1126,7 @@ typing/printtyped.cmx : \ typing/types.cmx \ typing/typedtree.cmx \ parsing/printast.cmx \ + parsing/pprintast.cmx \ typing/path.cmx \ parsing/parsetree.cmi \ parsing/longident.cmx \ @@ -1134,6 +1160,22 @@ typing/rec_check.cmx : \ typing/rec_check.cmi : \ typing/typedtree.cmi \ typing/ident.cmi +typing/shape.cmo : \ + typing/path.cmi \ + utils/misc.cmi \ + utils/identifiable.cmi \ + typing/ident.cmi \ + typing/shape.cmi +typing/shape.cmx : \ + typing/path.cmx \ + utils/misc.cmx \ + utils/identifiable.cmx \ + typing/ident.cmx \ + typing/shape.cmi +typing/shape.cmi : \ + typing/path.cmi \ + utils/identifiable.cmi \ + typing/ident.cmi typing/signature_group.cmo : \ typing/types.cmi \ typing/ident.cmi \ @@ -1173,6 +1215,7 @@ typing/subst.cmo : \ utils/misc.cmi \ parsing/location.cmi \ utils/local_store.cmi \ + utils/lazy_backtrack.cmi \ typing/ident.cmi \ utils/clflags.cmi \ typing/btype.cmi \ @@ -1185,6 +1228,7 @@ typing/subst.cmx : \ utils/misc.cmx \ parsing/location.cmx \ utils/local_store.cmx \ + utils/lazy_backtrack.cmx \ typing/ident.cmx \ utils/clflags.cmx \ typing/btype.cmx \ @@ -1193,6 +1237,7 @@ typing/subst.cmx : \ typing/subst.cmi : \ typing/types.cmi \ typing/path.cmi \ + parsing/parsetree.cmi \ parsing/location.cmi \ typing/ident.cmi typing/tast_iterator.cmo : \ @@ -1305,6 +1350,7 @@ typing/typecore.cmo : \ typing/typedtree.cmi \ typing/typedecl.cmi \ typing/subst.cmi \ + typing/shape.cmi \ typing/rec_check.cmi \ typing/printtyp.cmi \ typing/printpat.cmi \ @@ -1336,6 +1382,7 @@ typing/typecore.cmx : \ typing/typedtree.cmx \ typing/typedecl.cmx \ typing/subst.cmx \ + typing/shape.cmx \ typing/rec_check.cmx \ typing/printtyp.cmx \ typing/printpat.cmx \ @@ -1363,6 +1410,7 @@ typing/typecore.cmx : \ typing/typecore.cmi : \ typing/types.cmi \ typing/typedtree.cmi \ + typing/shape.cmi \ typing/path.cmi \ parsing/parsetree.cmi \ parsing/longident.cmi \ @@ -1521,13 +1569,11 @@ typing/typedecl_separability.cmi : \ typing/env.cmi typing/typedecl_unboxed.cmo : \ typing/types.cmi \ - typing/predef.cmi \ typing/env.cmi \ typing/ctype.cmi \ typing/typedecl_unboxed.cmi typing/typedecl_unboxed.cmx : \ typing/types.cmx \ - typing/predef.cmx \ typing/env.cmx \ typing/ctype.cmx \ typing/typedecl_unboxed.cmi @@ -1569,6 +1615,7 @@ typing/typedecl_variance.cmi : \ parsing/asttypes.cmi typing/typedtree.cmo : \ typing/types.cmi \ + typing/shape.cmi \ typing/primitive.cmi \ typing/path.cmi \ parsing/parsetree.cmi \ @@ -1580,6 +1627,7 @@ typing/typedtree.cmo : \ typing/typedtree.cmi typing/typedtree.cmx : \ typing/types.cmx \ + typing/shape.cmx \ typing/primitive.cmx \ typing/path.cmx \ parsing/parsetree.cmi \ @@ -1591,6 +1639,7 @@ typing/typedtree.cmx : \ typing/typedtree.cmi typing/typedtree.cmi : \ typing/types.cmi \ + typing/shape.cmi \ typing/primitive.cmi \ typing/path.cmi \ parsing/parsetree.cmi \ @@ -1609,6 +1658,7 @@ typing/typemod.cmo : \ typing/typeclass.cmi \ typing/subst.cmi \ typing/signature_group.cmi \ + typing/shape.cmi \ typing/printtyp.cmi \ typing/path.cmi \ parsing/parsetree.cmi \ @@ -1643,6 +1693,7 @@ typing/typemod.cmx : \ typing/typeclass.cmx \ typing/subst.cmx \ typing/signature_group.cmx \ + typing/shape.cmx \ typing/printtyp.cmx \ typing/path.cmx \ parsing/parsetree.cmi \ @@ -1671,6 +1722,7 @@ typing/typemod.cmi : \ typing/types.cmi \ typing/typedtree.cmi \ typing/typedecl.cmi \ + typing/shape.cmi \ typing/path.cmi \ parsing/parsetree.cmi \ parsing/longident.cmi \ @@ -1682,7 +1734,8 @@ typing/typemod.cmi : \ typing/typeopt.cmo : \ typing/types.cmi \ typing/typedtree.cmi \ - typing/typedecl.cmi \ + typing/typedecl_unboxed.cmi \ + typing/type_immediacy.cmi \ typing/predef.cmi \ typing/path.cmi \ lambda/lambda.cmi \ @@ -1690,12 +1743,14 @@ typing/typeopt.cmo : \ typing/env.cmi \ typing/ctype.cmi \ utils/config.cmi \ + utils/clflags.cmi \ parsing/asttypes.cmi \ typing/typeopt.cmi typing/typeopt.cmx : \ typing/types.cmx \ typing/typedtree.cmx \ - typing/typedecl.cmx \ + typing/typedecl_unboxed.cmx \ + typing/type_immediacy.cmx \ typing/predef.cmx \ typing/path.cmx \ lambda/lambda.cmx \ @@ -1703,6 +1758,7 @@ typing/typeopt.cmx : \ typing/env.cmx \ typing/ctype.cmx \ utils/config.cmx \ + utils/clflags.cmx \ parsing/asttypes.cmi \ typing/typeopt.cmi typing/typeopt.cmi : \ @@ -1713,38 +1769,40 @@ typing/typeopt.cmi : \ typing/env.cmi typing/types.cmo : \ typing/type_immediacy.cmi \ + typing/shape.cmi \ typing/primitive.cmi \ typing/path.cmi \ parsing/parsetree.cmi \ utils/misc.cmi \ parsing/longident.cmi \ parsing/location.cmi \ - utils/identifiable.cmi \ + utils/local_store.cmi \ typing/ident.cmi \ utils/config.cmi \ parsing/asttypes.cmi \ typing/types.cmi typing/types.cmx : \ typing/type_immediacy.cmx \ + typing/shape.cmx \ typing/primitive.cmx \ typing/path.cmx \ parsing/parsetree.cmi \ utils/misc.cmx \ parsing/longident.cmx \ parsing/location.cmx \ - utils/identifiable.cmx \ + utils/local_store.cmx \ typing/ident.cmx \ utils/config.cmx \ parsing/asttypes.cmi \ typing/types.cmi typing/types.cmi : \ typing/type_immediacy.cmi \ + typing/shape.cmi \ typing/primitive.cmi \ typing/path.cmi \ parsing/parsetree.cmi \ parsing/longident.cmi \ parsing/location.cmi \ - utils/identifiable.cmi \ typing/ident.cmi \ parsing/asttypes.cmi typing/typetexp.cmo : \ @@ -2791,6 +2849,8 @@ asmcomp/polling.cmo : \ utils/numbers.cmi \ utils/misc.cmi \ asmcomp/mach.cmi \ + parsing/location.cmi \ + lambda/debuginfo.cmi \ asmcomp/dataflow.cmi \ asmcomp/cmm.cmi \ asmcomp/polling.cmi @@ -2798,6 +2858,8 @@ asmcomp/polling.cmx : \ utils/numbers.cmx \ utils/misc.cmx \ asmcomp/mach.cmx \ + parsing/location.cmx \ + lambda/debuginfo.cmx \ asmcomp/dataflow.cmx \ asmcomp/cmm.cmx \ asmcomp/polling.cmi @@ -3504,6 +3566,7 @@ lambda/runtimedef.cmx : \ lambda/runtimedef.cmi : lambda/simplif.cmo : \ utils/warnings.cmi \ + lambda/tmc.cmi \ typing/primitive.cmi \ parsing/location.cmi \ lambda/lambda.cmi \ @@ -3514,6 +3577,7 @@ lambda/simplif.cmo : \ lambda/simplif.cmi lambda/simplif.cmx : \ utils/warnings.cmx \ + lambda/tmc.cmx \ typing/primitive.cmx \ parsing/location.cmx \ lambda/lambda.cmx \ @@ -3530,6 +3594,24 @@ lambda/switch.cmo : \ lambda/switch.cmx : \ lambda/switch.cmi lambda/switch.cmi : +lambda/tmc.cmo : \ + utils/warnings.cmi \ + parsing/location.cmi \ + lambda/lambda.cmi \ + typing/ident.cmi \ + lambda/debuginfo.cmi \ + parsing/asttypes.cmi \ + lambda/tmc.cmi +lambda/tmc.cmx : \ + utils/warnings.cmx \ + parsing/location.cmx \ + lambda/lambda.cmx \ + typing/ident.cmx \ + lambda/debuginfo.cmx \ + parsing/asttypes.cmi \ + lambda/tmc.cmi +lambda/tmc.cmi : \ + lambda/lambda.cmi lambda/translattribute.cmo : \ utils/warnings.cmi \ typing/typedtree.cmi \ @@ -3803,6 +3885,7 @@ file_formats/cmt_format.cmo : \ typing/types.cmi \ typing/typedtree.cmi \ typing/tast_mapper.cmi \ + typing/shape.cmi \ utils/misc.cmi \ parsing/location.cmi \ utils/load_path.cmi \ @@ -3816,6 +3899,7 @@ file_formats/cmt_format.cmx : \ typing/types.cmx \ typing/typedtree.cmx \ typing/tast_mapper.cmx \ + typing/shape.cmx \ utils/misc.cmx \ parsing/location.cmx \ utils/load_path.cmx \ @@ -3828,6 +3912,7 @@ file_formats/cmt_format.cmx : \ file_formats/cmt_format.cmi : \ typing/types.cmi \ typing/typedtree.cmi \ + typing/shape.cmi \ utils/misc.cmi \ parsing/location.cmi \ typing/env.cmi \ @@ -5856,6 +5941,7 @@ driver/compile_common.cmo : \ typing/typemod.cmi \ typing/typedtree.cmi \ typing/typecore.cmi \ + typing/shape.cmi \ utils/profile.cmi \ typing/printtyped.cmi \ typing/printtyp.cmi \ @@ -5876,6 +5962,7 @@ driver/compile_common.cmx : \ typing/typemod.cmx \ typing/typedtree.cmx \ typing/typecore.cmx \ + typing/shape.cmx \ utils/profile.cmx \ typing/printtyped.cmx \ typing/printtyp.cmx \ @@ -6183,6 +6270,7 @@ toplevel/genprintval.cmi : \ typing/outcometree.cmi \ typing/env.cmi toplevel/topcommon.cmo : \ + typing/typedtree.cmi \ parsing/printast.cmi \ typing/predef.cmi \ parsing/pprintast.cmi \ @@ -6205,9 +6293,11 @@ toplevel/topcommon.cmo : \ driver/compmisc.cmi \ driver/compenv.cmi \ utils/clflags.cmi \ + parsing/asttypes.cmi \ parsing/ast_helper.cmi \ toplevel/topcommon.cmi toplevel/topcommon.cmx : \ + typing/typedtree.cmx \ parsing/printast.cmx \ typing/predef.cmx \ parsing/pprintast.cmx \ @@ -6230,11 +6320,13 @@ toplevel/topcommon.cmx : \ driver/compmisc.cmx \ driver/compenv.cmx \ utils/clflags.cmx \ + parsing/asttypes.cmi \ parsing/ast_helper.cmx \ toplevel/topcommon.cmi toplevel/topcommon.cmi : \ utils/warnings.cmi \ typing/types.cmi \ + typing/typedtree.cmi \ typing/path.cmi \ parsing/parsetree.cmi \ typing/outcometree.cmi \ @@ -6357,6 +6449,7 @@ toplevel/byte/topeval.cmo : \ toplevel/topcommon.cmi \ bytecomp/symtable.cmi \ lambda/simplif.cmi \ + typing/shape.cmi \ typing/printtyped.cmi \ typing/printtyp.cmi \ lambda/printlambda.cmi \ @@ -6380,7 +6473,6 @@ toplevel/byte/topeval.cmo : \ file_formats/cmo_format.cmi \ utils/clflags.cmi \ bytecomp/bytegen.cmi \ - parsing/asttypes.cmi \ toplevel/byte/topeval.cmi toplevel/byte/topeval.cmx : \ utils/warnings.cmx \ @@ -6392,6 +6484,7 @@ toplevel/byte/topeval.cmx : \ toplevel/topcommon.cmx \ bytecomp/symtable.cmx \ lambda/simplif.cmx \ + typing/shape.cmx \ typing/printtyped.cmx \ typing/printtyp.cmx \ lambda/printlambda.cmx \ @@ -6415,12 +6508,12 @@ toplevel/byte/topeval.cmx : \ file_formats/cmo_format.cmi \ utils/clflags.cmx \ bytecomp/bytegen.cmx \ - parsing/asttypes.cmi \ toplevel/byte/topeval.cmi toplevel/byte/topeval.cmi : \ toplevel/topcommon.cmi \ parsing/parsetree.cmi toplevel/byte/topmain.cmo : \ + typing/types.cmi \ toplevel/byte/trace.cmi \ toplevel/toploop.cmi \ toplevel/byte/topeval.cmi \ @@ -6438,6 +6531,7 @@ toplevel/byte/topmain.cmo : \ utils/clflags.cmi \ toplevel/byte/topmain.cmi toplevel/byte/topmain.cmx : \ + typing/types.cmx \ toplevel/byte/trace.cmx \ toplevel/toploop.cmx \ toplevel/byte/topeval.cmx \ @@ -6493,9 +6587,10 @@ toplevel/native/topeval.cmo : \ typing/typedtree.cmi \ typing/typecore.cmi \ lambda/translmod.cmi \ + toplevel/native/tophooks.cmi \ toplevel/topcommon.cmi \ lambda/simplif.cmi \ - asmcomp/proc.cmi \ + typing/shape.cmi \ typing/printtyped.cmi \ typing/printtyp.cmi \ lambda/printlambda.cmi \ @@ -6507,21 +6602,13 @@ toplevel/native/topeval.cmo : \ utils/load_path.cmi \ lambda/lambda.cmi \ typing/includemod.cmi \ - middle_end/flambda/import_approx.cmi \ typing/ident.cmi \ - middle_end/flambda/flambda_middle_end.cmi \ typing/env.cmi \ utils/config.cmi \ driver/compmisc.cmi \ middle_end/compilenv.cmi \ - middle_end/closure/closure_middle_end.cmi \ utils/clflags.cmi \ - middle_end/backend_intf.cmi \ - parsing/asttypes.cmi \ - parsing/ast_helper.cmi \ asmcomp/asmlink.cmi \ - asmcomp/asmgen.cmi \ - asmcomp/arch.cmo \ toplevel/native/topeval.cmi toplevel/native/topeval.cmx : \ utils/warnings.cmx \ @@ -6530,9 +6617,10 @@ toplevel/native/topeval.cmx : \ typing/typedtree.cmx \ typing/typecore.cmx \ lambda/translmod.cmx \ + toplevel/native/tophooks.cmx \ toplevel/topcommon.cmx \ lambda/simplif.cmx \ - asmcomp/proc.cmx \ + typing/shape.cmx \ typing/printtyped.cmx \ typing/printtyp.cmx \ lambda/printlambda.cmx \ @@ -6544,25 +6632,52 @@ toplevel/native/topeval.cmx : \ utils/load_path.cmx \ lambda/lambda.cmx \ typing/includemod.cmx \ - middle_end/flambda/import_approx.cmx \ typing/ident.cmx \ - middle_end/flambda/flambda_middle_end.cmx \ typing/env.cmx \ utils/config.cmx \ driver/compmisc.cmx \ middle_end/compilenv.cmx \ + utils/clflags.cmx \ + asmcomp/asmlink.cmx \ + toplevel/native/topeval.cmi +toplevel/native/topeval.cmi : \ + toplevel/topcommon.cmi \ + parsing/parsetree.cmi +toplevel/native/tophooks.cmo : \ + toplevel/topcommon.cmi \ + asmcomp/proc.cmi \ + utils/misc.cmi \ + lambda/lambda.cmi \ + middle_end/flambda/import_approx.cmi \ + middle_end/flambda/flambda_middle_end.cmi \ + utils/config.cmi \ + middle_end/compilenv.cmi \ + middle_end/closure/closure_middle_end.cmi \ + utils/clflags.cmi \ + middle_end/backend_intf.cmi \ + asmcomp/asmlink.cmi \ + asmcomp/asmgen.cmi \ + asmcomp/arch.cmo \ + toplevel/native/tophooks.cmi +toplevel/native/tophooks.cmx : \ + toplevel/topcommon.cmx \ + asmcomp/proc.cmx \ + utils/misc.cmx \ + lambda/lambda.cmx \ + middle_end/flambda/import_approx.cmx \ + middle_end/flambda/flambda_middle_end.cmx \ + utils/config.cmx \ + middle_end/compilenv.cmx \ middle_end/closure/closure_middle_end.cmx \ utils/clflags.cmx \ middle_end/backend_intf.cmi \ - parsing/asttypes.cmi \ - parsing/ast_helper.cmx \ asmcomp/asmlink.cmx \ asmcomp/asmgen.cmx \ asmcomp/arch.cmx \ - toplevel/native/topeval.cmi -toplevel/native/topeval.cmi : \ + toplevel/native/tophooks.cmi +toplevel/native/tophooks.cmi : \ toplevel/topcommon.cmi \ - parsing/parsetree.cmi + lambda/lambda.cmi toplevel/native/topmain.cmo : \ toplevel/toploop.cmi \ toplevel/native/topeval.cmi \ diff --git a/.gitattributes b/.gitattributes index 956d2136..4ac00cad 100644 --- a/.gitattributes +++ b/.gitattributes @@ -45,6 +45,7 @@ # No header for text files (would be too obtrusive). *.md typo.missing-header README* typo.missing-header +VERSION typo.missing-header *.adoc typo.missing-header api_docgen/*.mld typo.missing-header api_docgen/alldoc.tex typo.missing-header @@ -102,6 +103,7 @@ otherlibs/win32unix/stat.c typo.long-line otherlibs/win32unix/symlink.c typo.long-line runtime/sak.c typo.non-ascii +runtime/caml/compatibility.h typo.very-long-line stdlib/hashbang typo.white-at-eol typo.missing-lf @@ -116,6 +118,7 @@ testsuite/tests/generated-parse-errors/errors.* typo.very-long-line testsuite/tools/*.S typo.missing-header testsuite/tools/*.asm typo.missing-header testsuite/typing typo.missing-header +testsuite/tests/messages/highlight_tabs.ml typo.tab # prune testsuite reference files testsuite/tests/**/*.reference typo.prune @@ -179,8 +182,6 @@ tools/ocaml-objcopy-macosx text eol=lf tools/ocamlsize text eol=lf tools/pre-commit-githook text eol=lf tools/markdown-add-pr-links.sh text eol=lf -runtime/caml/m.h.in text eol=lf -runtime/caml/s.h.in text eol=lf runtime/caml/compatibility.h typo.long-line=may # These are all Perl scripts, so may not actually require this diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8a508ad0..338a60b1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -55,7 +55,7 @@ jobs: MAKE_ARG=-j make distclean - name: configure tree run: | - MAKE_ARG=-j XARCH=x64 CONFIG_ARG='--enable-flambda --enable-cmm-invariants --enable-dependency-generation' OCAMLRUNPARAM=b,v=0 bash -xe tools/ci/actions/runner.sh configure + MAKE_ARG=-j XARCH=x64 CONFIG_ARG='--enable-flambda --enable-cmm-invariants --enable-dependency-generation --enable-native-toplevel' OCAMLRUNPARAM=b,v=0 bash -xe tools/ci/actions/runner.sh configure - name: Build run: | MAKE_ARG=-j OCAMLRUNPARAM=b,v=0 bash -xe tools/ci/actions/runner.sh build diff --git a/.gitignore b/.gitignore index cd5bf11c..f3a839fe 100644 --- a/.gitignore +++ b/.gitignore @@ -56,6 +56,7 @@ _build /ocamlopt /ocamlopt.opt /ocamlnat +/_opam # specific files and patterns in sub-directories @@ -96,6 +97,7 @@ _build /lex/parser.output /manual/src/cmds/warnings-help.etex +/manual/src/html_processing/src/common.ml /manual/src/warnings-help.etex /api_docgen/build diff --git a/.mailmap b/.mailmap index 730ac07b..08c772e0 100644 --- a/.mailmap +++ b/.mailmap @@ -132,6 +132,7 @@ Joris Giovannangeli Wilfred Hughes John Skaller Eduardo Rafael +Runhang Li # These contributors prefer to be referred to pseudonymously whitequark diff --git a/Changes b/Changes index deb5c534..a8ce94bd 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,525 @@ -OCaml 4.13.1 (01 October 2021) --------------------------------- +OCaml 4.14.0 (28 March 2022) +---------------------------- + +### Language features (highlights): + +- #10437: Allow explicit binders for type variables. + (Stephen Dolan, review by Leo White) + +- #181, #9760, #10740: opt-in tail-modulo-cons (TMC) transformation + let[@tail_mod_cons] rec map f li = ... + (Frédéric Bour, Gabriel Scherer, Basile Clément, + review by Basile Clément and Pierre Chambart, + tested by Konstantin Romanov) + +### Runtime system (highlights): + +- #10195, #10680: Speed up GC by prefetching during marking + (Stephen Dolan, review by Xavier Leroy, Guillaume Munch-Maccagnoni, + Jacques-Henri Jourdan, Damien Doligez and Leo White) + +### Code generation and optimizations (highlights): + +- #10595: Tail calls with up to 64 arguments are guaranteed to be compiled + as tail calls. To this end, memory locations in the domain state + are used for passing arguments that do not fit in registers. + (Xavier Leroy, review by Vincent Laviron) + +### Standard library (highlights): + +* #10710: Add UTF tools, codecs and validations to the Uchar, Bytes and + String modules. + (Daniel Bünzli, review by Florian Angeletti, Nicolás Ojeda Bär, Alain + Frisch and Gabriel Scherer) + +* #10482: mark the Stream and Genlex modules as deprecated, in preparation + for a future removal. These modules (without deprecation alert) + are now provided by the camlp-streams library. + (Xavier Leroy, review by Nicolás Ojeda Bär) + +- #10545: Add In_channel and Out_channel modules. + (Nicolás Ojeda Bär, review by Daniel Bünzli, Simon Cruanes, Gabriel Scherer, + Guillaume Munch-Maccagnoni, Alain Frisch and Xavier Leroy) + +### Compiler user-interface and warnings (highlights) + +- #10328, #10780: Give more precise error when disambiguation could not + possibly work. + (Leo White, review by Gabriel Scherer and Florian Angeletti) + +- #10361: Improve error messages for mismatched record and variant + definitions. + (Florian Angeletti, review by Gabriel Radanne and Gabriel Scherer) + +- #10407: Produce more detailed error messages that contain full error traces + when module inclusion fails. + (Antal Spector-Zabusky, review by Florian Angeletti) + +### Internal/compiler-libs changes (highlights): + +- #10718, #11012: Add "Shape" information to the cmt files. Shapes are an + abstraction of modules that can be used by external tooling to perform + definition-aware operations. + (Ulysse Gérard, Thomas Refis and Leo White, review by Florian Angeletti) + + +### Language features: + +- #10462: Add attribute to produce a compiler error for polls. + (Sadiq Jaffer, review by Mark Shinwell, Stephen Dolan + and Guillaume Munch-Maccagnoni) + +- #10441: Remove unnecessary parentheses surrounding immediate objects. + Allow 'object ... end # f', 'f object ... end', etc. + (Yan Dong, review by Nicolás Ojeda Bär, Florian Angeletti and Gabriel Scherer) + +### Runtime system: + +* #9391, #9424: Fix failed assertion in runtime due to ephemerons *set_* and + *blit_* function during Mark phase + (François Bobot, reported by Stephen Dolan, reviewed by Damien Doligez) + +- #10549: Stack overflow detection and naked pointers checking for ARM64 + (Xavier Leroy, review by Stephen Dolan) + +* #10675, #10937: Emit deprecation warnings when old C runtime function names + are used. This will break C stub code that uses these old names and + treats warnings as errors. The workaround is to use the new names. + (Xavier Leroy and David Allsopp, review by Sébastien Hinderer and + Damien Doligez) + +- #10698, #10726, #10891: Free the alternate signal stack when the main OCaml + code or an OCaml thread stops + (Xavier Leroy, review by David Allsopp and Damien Doligez) + +- #10730, 10731: Fix bug in `Obj.reachable_words` causing a slowdown when called + multiple time (Alain Frisch, report by ygrek, review by Xavier Leroy) + +### Code generation and optimizations: + +- #10578: Increase the number of integer registers used for + parameter passing on PowerPC (16 registers) and on s390x (8 registers). + (Xavier Leroy, review by Mark Shinwell) + +- #10591, #10615: Tune the heuristic for CSE of integer constants + so as to avoid excessive CSE on compiler-generated constants + and long register allocation times. + (Xavier Leroy, report by Edwin Török, review by Nicolás Ojeda Bär) + +- #10681: Enforce boolean conditions for the native backend + (Vincent Laviron, review by Gabriel Scherer) + +- #10719: Ensure that build_apply respects Lambda.max_arity + (Stephen Dolan, review by Xavier Leroy) + +- #10728: Ensure that functions are evaluated after their arguments + (Stephen Dolan, review by Mark Shinwell) + +- #10732: Ensure right-to-left evaluation of arguments in cmm_helpers + (Greta Yorsh, review by Xavier Leroy) + +### Standard library: + +* #10622: Annotate `Uchar.t` with immediate attribute + (Hongbo Zhang, reivew by Gabriel Scherer and Nicolás Ojeda Bär) + +* #7812, #10475: `Filename.chop_suffix name suff` now checks that `suff` + is actually a suffix of `name` and raises Invalid_argument otherwise. + (Xavier Leroy, report by whitequark, review by David Allsopp) + +- #10526: add Random.bits32, Random.bits64, Random.nativebits + (Xavier Leroy, review by Gabriel Scherer and François Bobot) + +* #10568: remove Obj.marshal and Obj.unmarshal + (these functions have been deprecated for a while and are superseded + by the functions from module Marshal) + (François Pottier, review by Gabriel Scherer and Kate Deplaix) + +- #10538: add Out_channel.set_buffered and Out_channel.is_buffered to control + the buffering mode of output channels. + (Nicolás Ojeda Bär, review by John Whitington, Daniel Bünzli, David Allsopp + and Xavier Leroy) + +* #10583, #10998: Add over 40 new functions in Seq. + (François Pottier and Simon Cruanes, review by Nicolás Ojeda Bär, + Daniel Bünzli, Naëla Courant, Craig Ferguson, Wiktor Kuchta, + Xavier Leroy, Guillaume Munch-Maccagnoni, Raphaël Proust, Gabriel Scherer + and Thierry Martinez) + +- #10596, #10978: Add with_open_bin, with_open_text and with_open_gen to + In_channel and Out_channel. Also, add In_channel.input_all. + (Nicolás Ojeda Bär, review by Daniel Bünzli, Jérémie Dimino, Damien Doligez + and Xavier Leroy) + +- #10658: add detailed information about the current version of OCaml + to the Sys module of the standard library. + (Sébastien Hinderer, review by Damien Doligez, Gabriel Scherer, David + Allsopp, Nicolás Ojeda Bär, Vincent Laviron) + +- #10642: On Windows, Sys.remove and Unix.unlink now remove symlinks + to directories instead of raising EACCES. Introduce + caml/winsupport.h to hold more common code between the runtime, + lib-sys, and win32unix. + (Antonin Décimo, review by David Allsopp and Xavier Leroy) + +- #10737: add new ephemeron API for forward compatibility with Multicore + OCaml. + (Damien Doligez, review by Stephen Dolan) + +* #10922: Add deprecation warnings on {Int32,Int64,Nativeint}.format. + (Nicolás Ojeda Bär, review by Xavier Leroy and Florian Angeletti) + +### Other libraries: + +- #10192: Add support for Unix domain sockets on Windows and use them + to emulate Unix.socketpair (only available on Windows 1803+) + (Antonin Décimo, review by David Allsopp) + +- #10469: Add Thread.set_uncaught_exception_handler and + Thread.default_uncaught_exception_handler. + (Enguerrand Decorne, review by David Allsopp) + +- #10697: Bindings of dup and dup2 in win32unix now correctly call + WSADuplicateSocket on sockets instead of DuplicateHandle. + (Antonin Décimo, review by Xavier Leroy and Nicolás Ojeda Bär) + +- #10951: Introduce the Thread.Exit exception as an alternative way to + terminate threads prematurely. This alternative way will become + the standard way in 5.00. + (Xavier Leroy, review by Florian Angeletti) + +### Tools: + +- #10839: Fix regression of #show when printing class type + (Élie Brami, review by Florian Angeletti) + +- #3959, #7202, #10476: ocaml, in script mode, directive errors + (`#use "missing_file";;`) use stderr and exit with an error. + (Florian Angeletti, review by Gabriel Scherer) + +- #10438: add a new toplevel cli argument `-e