The file was modified tools/ci/inria/other-configs/script (diff) The file was modified tools/ci/inria/main (diff) The file was modified testsuite/tests/typing-warnings/unused_types.ml (diff) The file was modified stdlib/format.mli (diff) The file was modified stdlib/format.mli (diff) The file was modified stdlib/format.mli (diff) The file was modified Makefile (diff)
Commit
7e00974029993e160f053cf6df9bd6398836af32
by noreply Fix C++ name-mangling issue with `caml_state` on Cygwin (#14220) Fix Cygwin problems linking with caml_state from C++ --------- Co-authored-by: Antonin Décimo <antonin@tarides.com> Co-authored-by: David Allsopp <david.allsopp@metastack.com> The file was modified runtime/caml/misc.h (diff) The file was modified Changes (diff) The file was modified tools/ci/inria/main (diff) The file was modified tools/ci/inria/other-configs/script (diff) The file was modified stdlib/format.mli (diff) The file was modified testsuite/tests/weak-ephe-final/weaktest_par_load.ml (diff) The file was modified manual/src/refman/extensions/attributes.etex (diff)
Commit
a18fbb7881ca8e95f1a738ac524888b697c8187d
by noreply Fix ocamltest criterion for using `-custom` to link test file. (#14230) Ocamltest uses the wrong criterion when deciding whether to link the test program with `-custom`. Instead of looking at the libraries being linked and checking them for dynamically-linked C code, simply check their `lib_custom` flag. The file was modified Changes (diff) The file was modified ocamltest/ocaml_actions.ml (diff) The file was modified Changes (diff) The file was modified manual/src/library/builtin.etex (diff)
Commit
374aee416bc98d2e6db15b495f05bbb7d88ecfae
by noreply Fix test-in-prefix (#14216) Add `flexlink.exe` and `ocamllex.exe` to the list of files that do not link with the Config module. Normally, these are symlinks to `*.byte.exe` or `*.opt.exe` but (depending on Windows shenanigans) `configure` may decide to use `cp` instead of `ln -s`. The file was modified testsuite/tools/testRelocation.ml (diff) The file was modified tools/gen_sizeclasses.ml (diff) The file was modified Changes (diff) The file was modified runtime/shared_heap.c (diff) The file was modified runtime/caml/sizeclasses.h (diff) The file was modified Makefile.common (diff) The file was modified parsing/ast_mapper.ml (diff) The file was modified parsing/ast_iterator.ml (diff) The file was modified Changes (diff)
Commit
c648c5fb2b16ce1d1ec571db9fb021ac3e148c15
by gabriel.scherer typing: allow private constructors without usage warnings We would like to allow the use of private variant constructors to build 'phantom' types used for GADT indices: type zero = private Zero type 'a succ = private Succ type ('a, _) sized_list = | Nil : ('a, zero) sized_list | Cons : 'a * ('a, 'n) sized_list -> ('a, 'n succ) sized_list Before the present commit, this example would fail with "unused constructors" warning on Zero and Succ. (We still warn on type constructors that are defined as public, and then exported as private in a signature. But on types that are defined as private in the implementation, warning that they are not used is not that useful anyway, because it is impossible to construct them except through the FFI.) Note: we could reasonably warn on constructors that are defined as private in the implementation, and then used in pattern-matching (but never constructed, as constructing them is a type error). But this is arguably warning about something different, and there is a risk of negatively affecting existing projects by raising unused-constructor warnings more often. Reviewed-by: Florian Angeletti <florian.angeletti@inria.fr> Reviewed-by: Nicolás Ojeda Bär <n.oje.bar@gmail.com> The file was modified testsuite/tests/typing-warnings/unused_types.ml (diff) The file was modified typing/env.ml (diff) The file was modified Changes (diff) The file was modified manual/src/allfiles.etex (diff) The file was added manual/src/cmds/native-debugger.etex The file was modified Changes (diff) The file was modified manual/src/cmds/Makefile (diff) The file was modified manual/src/cmds/profil.etex (diff)
Commit
aec2c9f55e7c47a1613879014e0438ac2f07089e
by n.oje.bar Don't use variadic macros for annotations Varadic macros expect at least one parameter for the variadic part (at least until C++20). They were used to allow for possible future extension by adding more parameters. /Users/antonin/Tarides/ocaml/trunk/runtime/caml/memory.h:89:32: error: ISO C++11 requires at least one argument for the "..." in a variadic macro [-Werror] 89 | CAMLmalloc(caml_stat_free, 1, 1) CAMLreturns_nonnull() | ^ The file was modified runtime/caml/misc.h (diff) The file was modified Changes (diff) The file was modified .github/workflows/build-cross.yml (diff) The file was modified .github/workflows/multicoretests.yml (diff) The file was modified .github/workflows/build-msvc.yml (diff) The file was modified .github/workflows/hygiene.yml (diff) The file was modified .github/workflows/tsan.yml (diff) The file was modified .github/workflows/build.yml (diff) The file was modified .github/workflows/build.yml (diff) The file was modified Changes (diff) The file was modified manual/src/cmds/unified-options.etex (diff) The file was modified manual/src/refman/typedecl.etex (diff) The file was modified .github/workflows/build-cross.yml (diff) The file was modified tools/ci/appveyor/appveyor_build.sh (diff) The file was modified tools/ci/appveyor/appveyor_build.cmd (diff) The file was modified Makefile (diff) The file was modified .github/workflows/build-cross.yml (diff)
Commit
2b8d4ba3339e51989cbd4cd4ba5476cb29f9f0e6
by antonin No `pthread_cancel` in Android's Bionic libc Replacing `pthread_cancel` with assert using the preprocessor doesn't work if `assert` isn't defined either! It was `<assert.h>` that was missing, prefer detecting at configure-time whether `pthread_cancel` is supported, and guard its use. Another option would be to guard its use using the `__BIONIC__` macro. - https://android.googlesource.com/platform/bionic/+/master/tests/headers/posix/pthread_h.c#90 - https://stackoverflow.com/questions/26823926/pthread-cancel-not-found-compiling-with-android-toolchain The file was modified runtime/domain.c (diff) The file was modified .github/workflows/build-cross.yml (diff) The file was modified configure (diff) The file was modified runtime/caml/s.h.in (diff) The file was modified configure.ac (diff) The file was modified configure.ac (diff) The file was modified configure (diff) The file was modified runtime/caml/s.h.in (diff) The file was modified otherlibs/systhreads/st_stubs.c (diff) The file was modified stdlib/list.mli (diff) The file was modified stdlib/list.ml (diff) The file was modified stdlib/listLabels.mli (diff) The file was modified Changes (diff) The file was modified testsuite/tests/lib-list/test.ml (diff) The file was modified runtime/caml/fail.h (diff) The file was modified runtime/sync.c (diff) The file was modified runtime/caml/domain.h (diff) The file was modified otherlibs/systhreads/st_pthreads.h (diff) The file was modified runtime/domain.c (diff) The file was modified otherlibs/systhreads/st_stubs.c (diff) The file was modified runtime/domain.c (diff) The file was modified runtime/domain.c (diff) The file was modified runtime/domain.c (diff) The file was modified stdlib/domain.ml (diff) The file was modified runtime/domain.c (diff) The file was modified runtime/domain.c (diff) The file was modified runtime/caml/sync.h (diff) The file was modified Changes (diff) The file was modified otherlibs/systhreads/st_stubs.c (diff) The file was modified runtime/domain.c (diff) The file was modified runtime/sync.c (diff) The file was modified parsing/ast_iterator.ml (diff) The file was modified parsing/ast_mapper.ml (diff) The file was modified stdlib/domain.mli (diff) The file was modified manual/src/tutorials/parallelism.etex (diff) The file was modified Changes (diff) The file was modified .depend (diff) The file was modified lambda/lambda.ml (diff) The file was modified lambda/matching.ml (diff) The file was modified lambda/translcore.ml (diff) The file was modified lambda/translmod.ml (diff) The file was modified bytecomp/symtable.ml (diff) The file was modified lambda/lambda.mli (diff) The file was modified lambda/matching.ml (diff) The file was modified lambda/translcore.ml (diff) The file was modified lambda/lambda.ml (diff)
Commit
59ae1d79427ae2073adae7eeb41130eaa981c6f9
by vincent.laviron Introduce Lambda.constant type This is a copy of Asttypes.constant minus the string case. It ensures that there is a single way to represent constant strings, and allows to remove a few pieces of duplicated code. The file was modified bytecomp/emitcode.ml (diff) The file was modified bytecomp/symtable.ml (diff) The file was modified lambda/matching.ml (diff) The file was modified lambda/printlambda.ml (diff) The file was modified .depend (diff) The file was modified middle_end/closure/closure.ml (diff) The file was modified lambda/lambda.ml (diff) The file was modified lambda/lambda.mli (diff) The file was modified middle_end/flambda/closure_conversion.ml (diff) The file was modified lambda/matching.ml (diff) The file was modified lambda/translprim.ml (diff) The file was modified middle_end/closure/closure.ml (diff) The file was modified bytecomp/emitcode.ml (diff) The file was modified bytecomp/bytegen.ml (diff) The file was modified lambda/lambda.ml (diff) The file was modified lambda/tmc.ml (diff) The file was modified bytecomp/symtable.ml (diff) The file was modified middle_end/flambda/closure_conversion.ml (diff) The file was modified lambda/value_rec_compiler.ml (diff) The file was modified lambda/lambda.mli (diff) The file was modified lambda/simplif.ml (diff) The file was modified lambda/printlambda.ml (diff) The file was modified lambda/translobj.ml (diff) The file was modified lambda/translcore.ml (diff) The file was modified Changes (diff)
Commit
25b6cc979dee394b5fb7e1eac24c2ad33317907b
by noreply Fix TSan shadow stack popping on some C stubs (#14213) Until now, when an exception was raised from C and TSan was enabled, the runtime would unwind the (real) stack and pop on TSan's shadow stack at every frame, until the stack pointer was at a higher address than the c_stack_link. This is incorrect: the correct condition is to stop when the stack pointer is no longer between the c_stack_link and the stack pointer's value before unwinding. This is because unwinding beyond the c_stack_link means going back to an OCaml stack, which is on the heap, and may be stored at an arbitrary address, higher or lower than the C stack. This change also makes the code clearer by using a for loop and improving comments. Co-authored-by: Gabriel Scherer <gabriel.scherer@gmail.com> The file was modified runtime/tsan.c (diff) The file was modified Changes (diff) The file was modified manual/src/cmds/intf-c.etex (diff)
Commit
11c9a6bb888404ed9a32b879a4440ba790eef095
by noreply Unicode changes in Format should be treated as breaking changes (#14272) See https://github.com/dbuenzli/cmdliner/issues/234 where this potentially causes a testcase that was previously passing on 5.3 to now fail on 5.4.0~beta2. The file was modified Changes (diff) The file was modified stdlib/filename.ml (diff) The file was modified stdlib/filename.ml (diff) The file was modified manual/src/cmds/intf-c.etex (diff) The file was modified testsuite/tests/frame-pointers/fp_backtrace.c (diff) The file was modified testsuite/tests/parsing/rawidents.ml (diff) The file was modified testsuite/tests/parsetree/source.ml (diff) The file was modified parsing/pprintast.ml (diff) The file was modified stdlib/repr.mli (diff) The file was modified Changes (diff) The file was modified release-info/howto.md (diff) The file was modified typing/gprinttyp.ml (diff) The file was modified HACKING.adoc (diff) The file was modified testsuite/tests/tool-toplevel/install_printer.ml (diff) The file was modified man/ocamlopt.1 (diff) The file was modified stdlib/stringLabels.mli (diff) The file was modified Makefile.cross (diff) The file was modified typing/typedecl.ml (diff) The file was modified lambda/matching.ml (diff) The file was modified stdlib/string.mli (diff) The file was modified testsuite/tests/lib-array/test_array.ml (diff) The file was modified typing/rawprinttyp.mli (diff) The file was modified runtime/caml/mlvalues.h (diff) The file was modified release-info/News (diff) The file was modified utils/misc.ml (diff) The file was modified typing/includemod.ml (diff) The file was modified utils/config.mli (diff) The file was modified testsuite/tests/uids/intf_uids_test.ml (diff) The file was modified utils/diffing.ml (diff) The file was modified man/ocamlc.1 (diff) The file was modified testsuite/tests/parsing/comments.ml (diff) The file was modified testsuite/tools/harness.mli (diff) The file was modified typing/ctype.ml (diff) The file was modified testsuite/tests/shape-index/index_aliases.ml (diff) The file was modified asmcomp/cmm_helpers.ml (diff) The file was modified testsuite/in_prefix/README.md (diff) The file was modified typing/subst.mli (diff) The file was modified Changes (diff) The file was modified stdlib/fun.mli (diff) The file was modified manual/src/cmds/runtime-tracing.etex (diff) The file was modified INSTALL.adoc (diff) The file was modified parsing/location.mli (diff) The file was modified testsuite/tools/toolchain.ml (diff) The file was modified utils/format_doc.mli (diff) The file was modified testsuite/tests/typing-external/non_syntactic_arity.ml (diff) The file was modified testsuite/tests/typing-modules/merge_constraint.ml (diff) The file was modified otherlibs/runtime_events/runtime_events.mli (diff) The file was modified runtime/domain.c (diff) The file was modified typing/out_type.mli (diff) The file was modified runtime/memprof.c (diff) The file was modified parsing/parser.mly (diff) The file was modified parsing/unit_info.mli (diff) The file was modified testsuite/tests/typing-modules/functors.ml (diff) The file was modified stdlib/format.mli (diff) The file was modified .github/workflows/multicoretests.yml (diff)
Commit
1366f6cda02d9b2618c5348157ebad28badb1ab1
by stedolan Bugfix for GC root mishandling in memprof.c When allocating the OCaml block for a Gc.Memprof info block, memprof.c uses e->user_data as the root for the callstack. While e->user_data is indeed a root, this is incorrect: e->user_data is only scanned during minor GC if it is the right side of the 'young' pointer, and this might not be the case. The fix is to use a normal CAMLlocal1 root for this value. The testcase is tricky, but reliably crashes before and passes after this fix. The file was added testsuite/tests/statmemprof/user_data_regression.reference The file was added testsuite/tests/statmemprof/user_data_regression_stub.c The file was modified runtime/memprof.c (diff) The file was added testsuite/tests/statmemprof/user_data_regression.ml The file was modified Changes (diff) The file was modified .github/workflows/multicoretests.yml (diff) The file was modified release-info/News (diff) The file was modified Changes (diff) The file was modified release-info/calendar.md (diff) The file was modified runtime/caml/domain.h (diff) The file was modified runtime/domain.c (diff) The file was modified otherlibs/systhreads/caml/threads.h (diff) The file was modified otherlibs/systhreads/st_stubs.c (diff) The file was modified testsuite/tests/parallel/test_c_thread_register.ml (diff) The file was modified testsuite/tests/parallel/test_c_thread_register.reference (diff) The file was modified testsuite/tests/parallel/test_c_thread_register_cstubs.c (diff) The file was modified manual/src/cmds/intf-c.etex (diff) The file was modified Changes (diff) The file was modified tools/ci/appveyor/appveyor_build.sh (diff) The file was modified otherlibs/systhreads/st_stubs.c (diff) The file was modified runtime/caml/domain.h (diff) The file was modified runtime/domain.c (diff) The file was modified otherlibs/dynlink/dynlink_common.ml (diff) The file was modified tools/objinfo.ml (diff) The file was modified toplevel/expunge.ml (diff) The file was modified file_formats/cmi_format.mli (diff) The file was modified utils/consistbl.ml (diff) The file was modified file_formats/cmxs_format.mli (diff) The file was modified file_formats/cmi_format.ml (diff) The file was modified file_formats/cmt_format.mli (diff) The file was modified utils/misc.mli (diff) The file was modified otherlibs/dynlink/dynlink_platform_intf.ml (diff) The file was modified asmcomp/asmlink.mli (diff) The file was modified otherlibs/dynlink/byte/dynlink_symtable.ml (diff) The file was modified file_formats/linear_format.mli (diff) The file was modified typing/persistent_env.mli (diff) The file was modified typing/env.mli (diff) The file was modified middle_end/compilenv.mli (diff) The file was modified asmcomp/cmm_helpers.mli (diff) The file was modified file_formats/cmo_format.mli (diff) The file was modified bytecomp/symtable.ml (diff) The file was modified otherlibs/dynlink/native/dynlink.ml (diff) The file was modified utils/consistbl.mli (diff) The file was modified utils/misc.ml (diff) The file was modified asmcomp/asmlink.ml (diff) The file was modified file_formats/cmx_format.mli (diff) The file was modified typing/persistent_env.ml (diff) The file was modified otherlibs/dynlink/byte/dynlink.ml (diff) The file was modified file_formats/cmt_format.ml (diff) The file was modified file_formats/linear_format.ml (diff) The file was modified middle_end/compilenv.ml (diff) The file was modified otherlibs/dynlink/byte/dynlink_symtable.mli (diff) The file was modified bytecomp/symtable.mli (diff) The file was modified tools/ocamlcmt.ml (diff) The file was modified boot/ocamlc (diff) The file was modified boot/ocamllex (diff) The file was modified tools/ocamlcmt.ml (diff) The file was modified otherlibs/dynlink/byte/dynlink.ml (diff) The file was modified asmcomp/asmlink.mli (diff) The file was modified otherlibs/dynlink/dynlink_platform_intf.ml (diff) The file was modified toplevel/expunge.ml (diff) The file was modified asmcomp/cmm_helpers.mli (diff) The file was modified typing/persistent_env.mli (diff) The file was modified file_formats/cmx_format.mli (diff) The file was modified utils/consistbl.mli (diff) The file was modified testsuite/tests/lib-dynlink-initializers/test10_main.byte.reference (diff) The file was modified Changes (diff) The file was modified otherlibs/runtime_events/runtime_events.mli (diff) The file was modified Changes (diff) The file was modified otherlibs/runtime_events/runtime_events.mli (diff) The file was modified Changes (diff) The file was modified .gitmodules (diff) The file was modified .gitattributes (diff)
Commit
51a30e6eb5398ce57611e07df0ac3b9f9d9c6426
by antonin Mark FLEXLINKFLAGS as precious and pass them to flexlink invocation Flexlink reads the FLEXLINKFLAGS env var for supplementary flags. They could be used when building the compiler. If we don't add them explicitly to `$flexlinkflags` they're: 1. not shown in the flexlink invocations; 2. not retained after the build, when the installed ocaml calls flexlink as a linker. Prefer passing the FLEXLINKFLAGS explicitly in the invocation, at the risk of duplicating the flags if FLEXLINKFLAGS is set in the environment rather than given to configure as an argument. This change also marks the variable as precious so that any change to it invalidates the build. The file was modified configure.ac (diff) The file was modified configure (diff)
Commit
f95e62d9208ba096b870820832ccd958f8c02366
by antonin ocaml-variants.opam: require FlexDLL >= 0.44 FlexDLL before 0.44 would try to rediscover the C compiler and other tools it should use. This would introduce a mismatch if users chose an C compiler when building OCaml, and FlexDLL would chose another compiler. As of FlexDLL 0.44, its Makefile exposes all of the required settings. OCaml build scripts now know how to forward the selected tools to FlexDLL build scripts. Update the lower bound to set that in stone. The file was modified ocaml-variants.opam (diff)
Commit
a07d801c1e7675349cb070cbe47a8dacfd75c25c
by antonin Define RC to choose an alternative resource compiler This allow overriding the default resource processor, used during FlexDLL's bootstrap. The variable name is defined by libtool. Pass the variable to the flexlink Makefile. The file was modified configure.ac (diff) The file was modified Makefile (diff) The file was modified configure (diff) The file was modified Makefile.build_config.in (diff) The file was modified Makefile (diff) The file was modified Changes (diff) The file was modified testsuite/tools/toolchain.ml (diff) The file was modified configure.ac (diff) The file was modified configure (diff) The file was modified configure.ac (diff) The file was modified Makefile.build_config.in (diff) The file was modified configure (diff) The file was modified Makefile.common (diff) The file was modified otherlibs/runtime_events/runtime_events.mli (diff) The file was modified otherlibs/systhreads/caml/threads.h (diff) The file was modified manual/src/cmds/intf-c.etex (diff) The file was modified otherlibs/systhreads/st_stubs.c (diff)
Commit
6cb296a79560504385ce333e496c14f842d5192c
by noreply Make the type checker more deterministic (#14297) * Typetexp: require non-randomized hash tables to produce deterministic types * Use maps instead of hash tables to ensure deterministic iteration order * Hygiene * Add comments The file was modified Changes (diff) The file was modified testsuite/tests/typing-recmod/t09bad.compilers.reference (diff) The file was modified .depend (diff) The file was modified testsuite/tests/typing-recmod/t08bad.compilers.reference (diff) The file was modified typing/typetexp.ml (diff)
Commit
c2eec4dd1de7d0da2d2f76e5e7f2b567901f4e2c
by timmcgil Modify frame pointer tests to normalise symbols Each platform has a different name mangling scheme, however for these tests we can just replace the '$' with '.' normalising the names across platforms. These tests don't require escaping of special characters so it is safe to do this. The file was modified testsuite/tests/frame-pointers/stack_realloc2.arm64.reference (diff) The file was modified testsuite/tests/frame-pointers/c_call.reference (diff) The file was modified testsuite/tests/frame-pointers/fp_backtrace.c (diff) The file was modified testsuite/tests/frame-pointers/stack_realloc.arm64.reference (diff) The file was modified testsuite/tests/frame-pointers/stack_realloc.reference (diff) The file was modified testsuite/tests/frame-pointers/exception_handler.reference (diff) The file was modified testsuite/tests/frame-pointers/effects.reference (diff) The file was modified testsuite/tests/frame-pointers/exceptions.ml (diff) The file was modified testsuite/tests/frame-pointers/exceptions.reference (diff) The file was modified testsuite/tests/frame-pointers/reperform.reference (diff) The file was modified testsuite/tests/frame-pointers/stack_realloc2.reference (diff) The file was modified Changes (diff) The file was modified lambda/translobj.ml (diff)
Commit
db236086817c1ef76aeafc304cb96dd3a10f7efc
by olivier Add missing TSan accounting in caml_c_call_stack_args for x86_64 The absence of these calls to TSan resulted in its shadow stack being offset and deriving over time, causing wrong backtraces and crashes (due to the complete absence of bound checks in TSan). The file was modified runtime/amd64.S (diff) The file was added testsuite/tests/tsan/exn_from_c_stack_args.ml The file was modified testsuite/tests/tsan/callbacks.c (diff) The file was added testsuite/tests/tsan/exn_from_c_stack_args.run The file was added testsuite/tests/tsan/exn_from_c_stack_args.reference The file was modified runtime/s390x.S (diff) The file was modified runtime/riscv.S (diff) The file was modified runtime/arm64.S (diff) The file was modified testsuite/tests/tsan/raise_through_handler.reference (diff) The file was modified testsuite/tests/tsan/record_field.reference (diff) The file was modified testsuite/tests/tsan/array_elt.reference (diff) The file was modified testsuite/tests/tsan/unhandled.reference (diff) The file was modified testsuite/tests/tsan/exn_in_callback.reference (diff) The file was modified testsuite/tests/tsan/perform.reference (diff) The file was modified testsuite/tests/tsan/exn_from_c.reference (diff) The file was modified testsuite/tests/tsan/reperform.reference (diff) The file was modified testsuite/tests/tsan/exn_reraise.reference (diff) The file was modified Changes (diff) The file was modified tools/ci/actions/check-labelled-interfaces.sh (diff) The file was modified Changes (diff) The file was modified Changes (diff)
Commit
0c6523d556945313c03e7852492e811cf6a2839f
by noreply Always use the `"I"` format specifier for `size_t` with mingw (#14308) * Always use the "I" format specifier for size_t with mingw runtime/domain.c:520:7: error: unknown conversion type character 'z' in format [-Werror=format=] 520 | "young_start: %p," | ^~~~~~~~~~~~~~~~~~ In file included from runtime/domain.c:22: runtime/caml/config.h:71:35: note: format string is defined here 71 | #define ARCH_SIZET_PRINTF_FORMAT "z" | ^ In some configurations GCC will warn about "%z" not being supported. Partially revert a change introduced in 295dd45852688c7c8b5df5e974c460588cdd9696. > Some types are different sizes in 32-bit and 64-bit code. For > example, size_t is 32 bits long in code compiled for x86, and 64 > bits in code compiled for x64. To create platform-agnostic > formatting code for variable-width types, you can use a > variable-width argument size modifier. Instead, use a 64-bit > argument size modifier and explicitly promote the variable-width > argument type to 64 bits. The Microsoft-specific I (uppercase i) > argument size modifier handles variable-width integer arguments, but > we recommend the type-specific j, t, and z modifiers for > portability. > Microsoft-specific: > The I (uppercase i) […] argument size modifier prefix [is] Microsoft > extension and is not ISO C-compatible. https://learn.microsoft.com/en-us/cpp/c-runtime-library/format-specification-syntax-printf-and-wprintf-functions?view=msvc-170#size Presumably the GCC warning is outdated or erroneous, but there seem to be no way around it. * Update changes The file was modified runtime/caml/config.h (diff) The file was modified Changes (diff)
Commit
85cd5fd3dc0c1763926378a571ef215ce9512908
by noreply Detect DWARF version for the Clang assembler (or: fix `test-in-prefix` for the other-configs tests) (#14314) This is then used in testsuite/tools/toolchain.ml to correctly identify whether the clang assembler embeds the full path to the source file or not. The file was modified testsuite/tools/toolchain.ml (diff) The file was modified configure (diff) The file was modified utils/config.mli (diff) The file was modified utils/config.fixed.ml (diff) The file was modified utils/config.generated.ml.in (diff) The file was modified configure.ac (diff)