#!/bin/sh

#**************************************************************************
#*                                                                        *
#*                                 OCaml                                  *
#*                                                                        *
#*           Damien Doligez, projet Cambium, INRIA                        *
#*                                                                        *
#*   Copyright 2023 Institut National de Recherche en Informatique et     *
#*     en Automatique.                                                    *
#*                                                                        *
#*   All rights reserved.  This file is distributed under the terms of    *
#*   the GNU Lesser General Public License version 2.1, with the          *
#*   special exception on linking described in the file LICENSE.          *
#*                                                                        *
#**************************************************************************

# This is the list of tests present in commit
# cd195d6f4f8696af36efaea82941482e92f85464

# This script assumes that ../trunk contains a check-out of trunk to get
# the old-syntax test files from.

# There are 1328 test scripts detected by ocamltest

# These tests will be translated in plain mode but need manual intervention
# to restore comments.

TESTS_COMMENTS="
afl-instrumentation/afl-fuzz-test.ml \
afl-instrumentation/afl-showmap-test.ml \
badly-ordered-deps/main.ml \
lib-dynlink-native/main.ml \
lib-scanf-2/tscanf2_master.ml \
lib-systhreads/testpreempt.ml \
lib-systhreads/testyield.ml \
lib-threads/delayintr.ml \
lib-threads/signal.ml \
lib-threads/sockets.ml \
lib-unix/common/cloexec.ml \
manual-intf-c/prog.ml \
opaque/test.ml \
shadow_include/shadow_all.ml \
"

# These tests can be translated without special care
TESTS_PLAIN="
arch-power/exn_raise.ml \
array-functions/test.ml \
asmcomp/0001-test.ml \
asmcomp/bind_tuples.ml \
asmcomp/compare.ml \
asmcomp/evaluation_order.ml \
asmcomp/func_sections.ml \
asmcomp/lift_mutable_let_flambda.ml \
asmcomp/optargs.ml \
asmcomp/poll_attr_inserted.ml \
asmcomp/polling_insertion.ml \
asmcomp/prevent_fma.ml \
asmcomp/register_typing.ml \
asmcomp/register_typing_switch.ml \
asmcomp/select_addr.ml \
asmcomp/staticalloc.ml \
asmcomp/try_checkbound.ml \
asmcomp/unrolling_flambda.ml \
asmcomp/unrolling_flambda2.ml \
asmgen/arith.cmm \
asmgen/catch-float.cmm \
asmgen/catch-multiple.cmm \
asmgen/catch-rec-deadhandler.cmm \
asmgen/catch-rec.cmm \
asmgen/catch-try-float.cmm \
asmgen/catch-try.cmm \
asmgen/checkbound.cmm \
asmgen/even-odd-spill-float.cmm \
asmgen/even-odd-spill.cmm \
asmgen/even-odd.cmm \
asmgen/fib.cmm \
asmgen/immediates.cmm \
asmgen/integr.cmm \
asmgen/invariants.cmm \
asmgen/pgcd.cmm \
asmgen/quicksort.cmm \
asmgen/quicksort2.cmm \
asmgen/soli.cmm \
asmgen/tagged-fib.cmm \
asmgen/tagged-integr.cmm \
asmgen/tagged-quicksort.cmm \
asmgen/tagged-tak.cmm \
asmgen/tak.cmm \
ast-invariants/test.ml \
backtrace/backtrace.ml \
backtrace/backtraces_and_finalizers.ml \
backtrace/lazy.ml \
basic-float/float_compare.ml \
basic-float/float_literals.ml \
basic-float/tfloat_hex.ml \
basic-float/tfloat_record.ml \
basic-float/zero_sized_float_arrays.ml \
basic-io/wc.ml \
basic-io-2/io.ml \
basic-manyargs/manyargs.ml \
basic-modules/main.ml \
basic-modules/pr11186.ml \
basic-modules/recursive_module_evaluation_errors.ml \
basic-modules/recursive_module_init.ml \
basic-more/bounds.ml \
basic-more/div_by_zero.ml \
basic-more/function_in_ref.ml \
basic-more/if_in_if.ml \
basic-more/opaque_prim.ml \
basic-more/pr10294.ml \
basic-more/pr1271.ml \
basic-more/pr2719.ml \
basic-more/pr6216.ml \
basic-more/pr7683.ml \
basic-more/record_evaluation_order.ml \
basic-more/robustmatch.ml \
basic-more/sequential_and_or.ml \
basic-more/structural_constants.ml \
basic-more/tbuffer.ml \
basic-more/top_level_patterns.ml \
basic-more/tprintf.ml \
basic-multdef/usemultdef.ml \
basic-private/tlength.ml \
basic/arrays.ml \
basic/bigints.ml \
basic/boxedints.ml \
basic/constprop.ml.c \
basic/divint.ml \
basic/equality.ml \
basic/eval_order_1.ml \
basic/eval_order_2.ml \
basic/eval_order_3.ml \
basic/eval_order_4.ml \
basic/eval_order_6.ml \
basic/eval_order_7.ml \
basic/eval_order_8.ml \
basic/eval_order_pr10283.ml \
basic/float.ml \
basic/float_physical_equality.ml \
basic/includestruct.ml \
basic/localexn.ml \
basic/localfunction.ml \
basic/maps.ml \
basic/min_int.ml \
basic/objects.ml \
basic/opt_variants.ml \
basic/patmatch.ml \
basic/patmatch_for_multiple.ml \
basic/patmatch_incoherence.ml \
basic/patmatch_split_no_or.ml \
basic/pr7253.ml \
basic/pr7533.ml \
basic/pr7657.ml \
basic/recvalues.ml \
basic/sets.ml \
basic/stringmatch.ml \
basic/switch_opts.ml \
basic/tailcalls.ml \
basic/trigraph.ml \
basic/tuple_match.ml \
basic/zero_divided_by_n.ml \
c-api/alloc_async.ml \
c-api/test_c_thread_has_lock.ml \
c-api/test_c_thread_has_lock_systhread.ml \
callback/callback_effects_gc.ml \
callback/minor_named.ml \
callback/nested_fiber.ml \
callback/signals_alloc.ml \
callback/stack_overflow.ml \
callback/test1.ml \
callback/test2.ml \
callback/test3.ml \
callback/test4.ml \
callback/test5.ml \
callback/test6.ml \
callback/test7.ml \
callback/test_finaliser_gc.ml \
callback/test_signalhandler.ml \
compiler-libs/test_longident.ml \
compiler-libs/test_untypeast.ml \
effects/cmphash.ml \
effects/evenodd.ml \
effects/issue479.ml \
effects/manylive.ml \
effects/marshal.ml \
effects/overflow.ml \
effects/partial.ml \
effects/reperform.ml \
effects/sched.ml \
effects/shallow_state.ml \
effects/shallow_state_io.ml \
effects/test1.ml \
effects/test10.ml \
effects/test11.ml \
effects/test2.ml \
effects/test3.ml \
effects/test4.ml \
effects/test5.ml \
effects/test6.ml \
effects/test_lazy.ml \
effects/unhandled_unlinked.ml \
effects/used_cont.ml \
embedded/cmcaml.ml \
ephe-c-api/test.ml \
exotic-syntax/exotic.ml \
extension-constructor/test.ml \
flambda/afl_lazy.ml \
flambda/approx_meet.ml \
flambda/gpr2239.ml \
flambda/gpr998.ml \
flambda/specialise.ml \
float-unboxing/float_subst_boxed_number.ml \
float-unboxing/unbox_under_assign.ml \
fma/fma.ml \
formats-transition/deprecated_unsigned_printers.ml \
formats-transition/ignored_scan_counters.ml \
formats-transition/legacy_incompatible_flags.ml \
formats-transition/legacy_unfinished_modifiers.ml \
formatting/errors_batch.ml \
formatting/margins.ml \
frame-pointers/c_call.ml \
frame-pointers/effects.ml \
frame-pointers/exception_handler.ml \
frame-pointers/reperform.ml \
frame-pointers/stack_realloc.ml \
frame-pointers/stack_realloc2.ml \
functors/functors.ml \
gc-roots/globroots.ml \
gc-roots/globroots_parallel.ml \
gc-roots/globroots_parallel_spawn_burn.ml \
gc-roots/globroots_sequential.ml \
generalized-open/accepted_batch.ml \
generalized-open/accepted_expect.ml \
generalized-open/clambda_optim.ml \
generalized-open/expansiveness.ml \
generalized-open/gpr1506.ml \
generalized-open/pr10048.ml \
generalized-open/shadowing.ml \
generated-parse-errors/errors.ml \
int64-unboxing/test.ml \
lazy/lazy1.ml \
lazy/lazy2.ml \
lazy/lazy3.ml \
lazy/lazy4.ml \
lazy/lazy5.ml \
lazy/lazy6.ml \
lazy/lazy7.ml \
lazy/lazy8.ml \
lazy/minor_major_force.ml \
let-syntax/let_syntax.ml \
letrec-check/basic.ml \
letrec-check/extension_constructor.ml \
letrec-check/flat_float_array.ml \
letrec-check/float_unboxing.ml \
letrec-check/labels.ml \
letrec-check/lazy_.ml \
letrec-check/modules.ml \
letrec-check/no_flat_float_array.ml \
letrec-check/objects.ml \
letrec-check/pr7215.ml \
letrec-check/records.ml \
letrec-check/unboxed.ml \
letrec-compilation/backreferences.ml \
letrec-compilation/class_1.ml \
letrec-compilation/class_2.ml \
letrec-compilation/evaluation_order_1.ml \
letrec-compilation/evaluation_order_2.ml \
letrec-compilation/evaluation_order_3.ml \
letrec-compilation/float_block_1.ml \
letrec-compilation/generic_array.ml \
letrec-compilation/labels.ml \
letrec-compilation/lazy_.ml \
letrec-compilation/lists.ml \
letrec-compilation/mixing_value_closures_1.ml \
letrec-compilation/mixing_value_closures_2.ml \
letrec-compilation/mutual_functions.ml \
letrec-compilation/nested.ml \
letrec-compilation/pr12153_miscompilation_of_recursive_atoms.ml \
letrec-compilation/pr4989.ml \
letrec-compilation/pr8681.ml \
letrec-compilation/record_with.ml \
letrec-compilation/ref.ml \
lexing/comments.ml \
lexing/uchar_esc.ml \
lf_skiplist/test.ml \
lf_skiplist/test_parallel.ml \
lib-arg/test_rest_all.ml \
lib-arg/testarg.ml \
lib-arg/testerror.ml \
lib-array/test_array.ml \
lib-atomic/test_atomic.ml \
lib-bigarray-2/bigarrcml.ml \
lib-bigarray-2/bigarrfml.ml \
lib-bigarray-file/mapfile.ml \
lib-bigarray/bigarrays.ml \
lib-bigarray/change_layout.ml \
lib-bigarray/fftba.ml \
lib-bigarray/pr5115.ml \
lib-bigarray/weak_bigarray.ml \
lib-bool/test.ml \
lib-buffer/test.ml \
lib-bytes-utf/test.ml \
lib-bytes/binary.ml \
lib-bytes/test_bytes.ml \
lib-channels/buffered.ml \
lib-channels/close_in.ml \
lib-channels/in_channel_length.ml \
lib-channels/input_all.ml \
lib-channels/input_lines.ml \
lib-channels/refcounting.ml \
lib-channels/seek_in.ml \
lib-digest/md5.ml \
lib-dynlink-bytecode/main.ml \
lib-dynlink-csharp/main.ml \
lib-dynlink-domains/main.ml \
lib-dynlink-init-info/test.ml \
lib-dynlink-initializers/test1_main.ml \
lib-dynlink-initializers/test2_main.ml \
lib-dynlink-initializers/test3_main.ml \
lib-dynlink-initializers/test4_main.ml \
lib-dynlink-initializers/test5_main.ml \
lib-dynlink-initializers/test6_main.ml \
lib-dynlink-initializers/test7_main.ml \
lib-dynlink-initializers/test8_main.ml \
lib-dynlink-initializers/test9_main.ml \
lib-dynlink-packed/loader.ml \
lib-dynlink-pr4229/main.ml \
lib-dynlink-pr4839/test.ml \
lib-dynlink-pr6950/loader.ml \
lib-dynlink-pr9209/dyn.ml \
lib-dynlink-private/test.ml \
lib-either/test.ml \
lib-filename/extension.ml \
lib-filename/null.ml \
lib-filename/quotecommand.ml \
lib-filename/suffix.ml \
lib-filename/temp.ml \
lib-float/test.ml \
lib-floatarray/floatarray.ml \
lib-format/domains.ml \
lib-format/mc_pr586_par.ml \
lib-format/mc_pr586_par2.ml \
lib-format/pp_print_custom_break.ml \
lib-format/pr6824.ml \
lib-format/print_array.ml \
lib-format/print_if_newline.ml \
lib-format/print_seq.ml \
lib-format/tformat.ml \
lib-fun/test.ml \
lib-hashtbl/compatibility.ml \
lib-hashtbl/hfun.ml \
lib-hashtbl/htbl.ml \
lib-int/test.ml \
lib-int64/issue9460.ml \
lib-int64/test.ml \
lib-internalformat/test.ml \
lib-lazy/test.ml \
lib-list/test.ml \
lib-marshal/intern_final.ml \
lib-marshal/intext.ml \
lib-marshal/intext_par.ml \
lib-marshal/marshal_bigarray.ml \
lib-obj/new_obj.ml \
lib-obj/reachable_words.ml \
lib-obj/reachable_words_bug.ml \
lib-obj/with_tag.ml \
lib-option/test.ml \
lib-printf/pr6534.ml \
lib-printf/pr6938.ml \
lib-printf/tprintf.ml \
lib-queue/test.ml \
lib-random/chi2.ml \
lib-random/defaultinit.ml \
lib-random/parallel.ml \
lib-random/selfinit.ml \
lib-random/testvectors.ml \
lib-result/test.ml \
lib-runtime-events/test.ml \
lib-runtime-events/test_caml.ml \
lib-runtime-events/test_caml_counters.ml \
lib-runtime-events/test_caml_exception.ml \
lib-runtime-events/test_caml_parallel.ml \
lib-runtime-events/test_caml_reentry.ml \
lib-runtime-events/test_caml_runparams.ml \
lib-runtime-events/test_caml_slot_reuse.ml \
lib-runtime-events/test_caml_stubs_gc.ml \
lib-runtime-events/test_dropped_events.ml \
lib-runtime-events/test_env_start.ml \
lib-runtime-events/test_external.ml \
lib-runtime-events/test_external_preserve.ml \
lib-runtime-events/test_fork.ml \
lib-runtime-events/test_instrumented.ml \
lib-runtime-events/test_user_event.ml \
lib-runtime-events/test_user_event_unknown.ml \
lib-scanf/tscanf.ml \
lib-seq/test.ml \
lib-set/testmap.ml \
lib-set/testset.ml \
lib-stack/test.ml \
lib-stdlabels/test_stdlabels.ml \
lib-str/parallel.ml \
lib-str/t01.ml \
lib-string/binary.ml \
lib-string/test_string.ml \
lib-sync/prodcons.ml \
lib-sync/trylock.ml \
lib-sync/trylock2.ml \
lib-sys/immediate64.ml \
lib-sys/opaque.ml \
lib-sys/rename.ml \
lib-systhreads/boundscheck.ml \
lib-systhreads/eintr.ml \
lib-systhreads/multicore_lifecycle.ml \
lib-systhreads/test_c_thread_register.ml \
lib-systhreads/testfork.ml \
lib-systhreads/testfork2.ml \
lib-systhreads/threadsigmask.ml \
lib-threads/backtrace_threads.ml \
lib-threads/bank.ml \
lib-threads/beat.ml \
lib-threads/bufchan.ml \
lib-threads/close.ml \
lib-threads/fileio.ml \
lib-threads/mutex_errors.ml \
lib-threads/pr4466.ml \
lib-threads/pr5325.ml \
lib-threads/pr7638.ml \
lib-threads/pr8857.ml \
lib-threads/prodcons.ml \
lib-threads/prodcons2.ml \
lib-threads/sieve.ml \
lib-threads/swapchan.ml \
lib-threads/tls.ml \
lib-threads/torture.ml \
lib-uchar/test.ml \
lib-unix/common/channel_of.ml \
lib-unix/common/dup.ml \
lib-unix/common/dup2.ml \
lib-unix/common/fork_cleanup.ml \
lib-unix/common/fork_cleanup_systhreads.ml \
lib-unix/common/getaddrinfo.ml \
lib-unix/common/gethostbyaddr.ml \
lib-unix/common/multicore_fork_domain_alone.ml \
lib-unix/common/multicore_fork_domain_alone2.ml \
lib-unix/common/pipe_eof.ml \
lib-unix/common/process_pid.ml \
lib-unix/common/redirections.ml \
lib-unix/common/rename.ml \
lib-unix/common/test_unix_cmdline.ml \
lib-unix/common/test_unixlabels.ml \
lib-unix/common/truncate.ml \
lib-unix/common/uexit.ml \
lib-unix/common/utimes.ml \
lib-unix/common/wait_nohang.ml \
lib-unix/isatty/isatty_std.ml \
lib-unix/isatty/isatty_tty.ml \
lib-unix/kill/unix_kill.ml \
lib-unix/realpath/test.ml \
lib-unix/unix-execvpe/exec.ml \
lib-unix/unix-socket/recvfrom_linux.ml \
lib-unix/unix-socket/recvfrom_unix.ml \
lib-unix/win-channel-of/parallel_channel_of.ml \
lib-unix/win-createprocess/test.ml \
lib-unix/win-env/test_env.ml \
lib-unix/win-socketpair/test.ml \
lib-unix/win-stat/test.ml \
lib-unix/win-symlink/parallel_symlink.ml \
lib-unix/win-symlink/test.ml \
link-test/empty.ml \
link-test/test.ml \
load_path/test.ml \
local-functions/tupled.ml \
local-functions/tupled2.ml \
locale/test.ml \
match-exception-warnings/exhaustiveness_warnings.ml \
match-exception-warnings/no_mixing_under_guard.ml \
match-exception-warnings/no_value_clauses.ml \
match-exception-warnings/placement.ml \
match-exception-warnings/pr7083.ml \
match-exception-warnings/reachability.ml \
match-exception/allocation.ml \
match-exception/exception_propagation.ml \
match-exception/identifier_sharing.ml \
match-exception/match_failure.ml \
match-exception/nested_handlers.ml \
match-exception/raise_from_success_continuation.ml \
match-exception/streams.ml \
match-exception/tail_calls.ml \
memory-model/forbidden.ml \
memory-model/publish.ml \
messages/highlight_tabs.ml \
messages/precise_locations.ml \
messages/spellcheck.ml \
misc-kb/kbmain.ml \
misc-unsafe/almabench.ml \
misc-unsafe/fft.ml \
misc-unsafe/quicksort.ml \
misc-unsafe/soli.ml \
misc/bdd.ml \
misc/boyer.ml \
misc/exotic.ml \
misc/fib.ml \
misc/gc_mark_stack_overflow.ml \
misc/gcwords.ml \
misc/gpr1370.ml \
misc/hamming.ml \
misc/nucleic.ml \
misc/pr7168.ml \
misc/sieve.ml \
misc/sorts.ml \
misc/takc.ml \
misc/taku.ml \
no-alias-deps/gpr2235.ml \
output-complete-obj/github9344.ml \
output-complete-obj/test.ml \
output-complete-obj/test2.ml \
parallel/atomics.ml \
parallel/backup_thread.ml \
parallel/backup_thread_pipe.ml \
parallel/constpromote.ml \
parallel/deadcont.ml \
parallel/domain_dls.ml \
parallel/domain_dls2.ml \
parallel/domain_id.ml \
parallel/domain_parallel_spawn_burn.ml \
parallel/domain_parallel_spawn_burn_gc_set.ml \
parallel/domain_serial_spawn_burn.ml \
parallel/fib_threads.ml \
parallel/join.ml \
parallel/major_gc_wait_backup.ml \
parallel/mctest.ml \
parallel/multicore_systhreads.ml \
parallel/pingpong.ml \
parallel/poll.ml \
parallel/prodcons_domains.ml \
parallel/recommended_domain_count.ml \
parallel/recommended_domain_count_unix.ml \
parallel/tak.ml \
parallel/test_c_thread_register.ml \
parallel/test_issue_11094.ml \
parsetree/test.ml \
parsing/anonymous_class_parameter.ml \
parsing/change_start_loc.ml \
parsing/docstrings.ml \
parsing/extended_indexoperators.ml \
parsing/extension_operators.ml \
parsing/multi_indices.ml \
parsing/pr10468.ml \
parsing/pr6604_3.ml \
parsing/reloc.ml \
ppx-attributes/inline.ml \
ppx-attributes/warning.ml \
ppx-contexts/test.ml \
prim-bigstring/bigstring_access.ml \
prim-bigstring/string_access.ml \
prim-bswap/bswap.ml \
prim-revapply/apply.ml \
prim-revapply/revapply.ml \
printing-types/disambiguation.ml \
printing-types/pr248.ml \
raise-counts/main.ml \
regression/gpr1623/gpr1623.ml \
regression/missing_set_of_closures/missing_set_of_closures.ml \
regression/pr10611/pr10611.ml \
regression/pr11887/pr11887.ml \
regression/pr1580/pr1580.ml \
regression/pr3612/pr3612.ml \
regression/pr5233/pr5233.ml \
regression/pr5757/pr5757.ml \
regression/pr6024/pr6024.ml \
regression/pr7042/pr7042.ml \
regression/pr7426/pr7426.ml \
regression/pr7718/pr7718.ml \
regression/pr7798/pr7798.ml \
regression/pr7920/pr7920.ml \
regression/pr8769/pr8769.ml \
regression/pr9028/pr9028.ml \
regression/pr9292/pr9292.ml \
regression/pr9326/gc_set.ml \
regression/pr9443/pr9443.ml \
regression/pr9853/compaction_corner_case.ml \
reproducibility/cmis_on_file_system.ml \
required-external/main.ml \
runtime-C-exceptions/test.ml \
runtime-errors/stackoverflow.ml \
runtime-errors/syserror.ml \
runtime-objects/Tests.ml \
self-contained-toplevel/main.ml \
shadow_include/artificial.ml \
shadow_include/ghosts.ml \
shapes/comp_units.ml \
shapes/functors.ml \
shapes/incl_md_typeof.ml \
shapes/open_arg.ml \
shapes/open_struct.ml \
shapes/recmodules.ml \
shapes/rotor_example.ml \
shapes/shape_size_blowup.ml \
shapes/simple.ml \
shapes/typeof_include.ml \
statmemprof/alloc_counts.ml \
statmemprof/arrays_in_major.ml \
statmemprof/arrays_in_minor.ml \
statmemprof/blocking_in_callback.ml \
statmemprof/callstacks.ml \
statmemprof/comballoc.ml \
statmemprof/custom.ml \
statmemprof/exception_callback.ml \
statmemprof/exception_callback_minor.ml \
statmemprof/intern.ml \
statmemprof/lists_in_minor.ml \
statmemprof/minor_no_postpone.ml \
statmemprof/moved_while_blocking.ml \
statmemprof/thread_exit_in_callback.ml \
tmc/ambiguities.ml \
tmc/other_features.ml \
tmc/readable_output.ml \
tmc/semantic.ml \
tmc/stack_space.ml \
tmc/tupled_function.ml \
tmc/usage_warnings.ml \
tool-caml-tex/ellipses.ml \
tool-caml-tex/redirections.ml \
tool-command-line/test-o-one-c-file.ml \
tool-command-line/test-o-several-files.ml \
tool-command-line/test-unknown-file.ml \
tool-debugger/basic/debuggee.ml \
tool-debugger/dynlink/host.ml \
tool-debugger/find-artifacts/debuggee.ml \
tool-debugger/no_debug_event/noev.ml \
tool-dumpobj/test.ml \
tool-expect-test/clean_typer.ml \
tool-lexyacc/calc.ml \
tool-lexyacc/chars.mll \
tool-lexyacc/csets.mll \
tool-lexyacc/mpr7760.mll \
tool-lexyacc/parsecheck.mly \
tool-ocaml-annot/failure.ml \
tool-ocaml-annot/success.ml \
tool-ocaml-annot/typeonly.ml \
tool-ocaml/directive_failure.ml \
tool-ocaml/t000.ml \
tool-ocaml/t010-const0.ml \
tool-ocaml/t010-const1.ml \
tool-ocaml/t010-const2.ml \
tool-ocaml/t010-const3.ml \
tool-ocaml/t011-constint.ml \
tool-ocaml/t020.ml \
tool-ocaml/t021-pushconst1.ml \
tool-ocaml/t021-pushconst2.ml \
tool-ocaml/t021-pushconst3.ml \
tool-ocaml/t022-pushconstint.ml \
tool-ocaml/t040-makeblock1.ml \
tool-ocaml/t040-makeblock2.ml \
tool-ocaml/t040-makeblock3.ml \
tool-ocaml/t041-makeblock.ml \
tool-ocaml/t050-getglobal.ml \
tool-ocaml/t050-pushgetglobal.ml \
tool-ocaml/t051-getglobalfield.ml \
tool-ocaml/t051-pushgetglobalfield.ml \
tool-ocaml/t060-raise.ml \
tool-ocaml/t070-branch.ml \
tool-ocaml/t070-branchif.ml \
tool-ocaml/t070-branchifnot.ml \
tool-ocaml/t071-boolnot.ml \
tool-ocaml/t080-eq.ml \
tool-ocaml/t080-geint.ml \
tool-ocaml/t080-gtint.ml \
tool-ocaml/t080-leint.ml \
tool-ocaml/t080-ltint.ml \
tool-ocaml/t080-neq.ml \
tool-ocaml/t090-acc0.ml \
tool-ocaml/t090-acc1.ml \
tool-ocaml/t090-acc2.ml \
tool-ocaml/t090-acc3.ml \
tool-ocaml/t090-acc4.ml \
tool-ocaml/t090-acc5.ml \
tool-ocaml/t090-acc6.ml \
tool-ocaml/t090-acc7.ml \
tool-ocaml/t091-acc.ml \
tool-ocaml/t092-pushacc.ml \
tool-ocaml/t092-pushacc0.ml \
tool-ocaml/t092-pushacc1.ml \
tool-ocaml/t092-pushacc2.ml \
tool-ocaml/t092-pushacc3.ml \
tool-ocaml/t092-pushacc4.ml \
tool-ocaml/t092-pushacc5.ml \
tool-ocaml/t092-pushacc6.ml \
tool-ocaml/t092-pushacc7.ml \
tool-ocaml/t093-pushacc.ml \
tool-ocaml/t100-pushtrap.ml \
tool-ocaml/t101-poptrap.ml \
tool-ocaml/t110-addint.ml \
tool-ocaml/t110-andint.ml \
tool-ocaml/t110-asrint-1.ml \
tool-ocaml/t110-asrint-2.ml \
tool-ocaml/t110-divint-1.ml \
tool-ocaml/t110-divint-2.ml \
tool-ocaml/t110-divint-3.ml \
tool-ocaml/t110-lslint.ml \
tool-ocaml/t110-lsrint.ml \
tool-ocaml/t110-modint-1.ml \
tool-ocaml/t110-modint-2.ml \
tool-ocaml/t110-mulint.ml \
tool-ocaml/t110-negint.ml \
tool-ocaml/t110-offsetint.ml \
tool-ocaml/t110-orint.ml \
tool-ocaml/t110-subint.ml \
tool-ocaml/t110-xorint.ml \
tool-ocaml/t120-getstringchar.ml \
tool-ocaml/t121-setstringchar.ml \
tool-ocaml/t130-getvectitem.ml \
tool-ocaml/t130-vectlength.ml \
tool-ocaml/t131-setvectitem.ml \
tool-ocaml/t140-switch-1.ml \
tool-ocaml/t140-switch-2.ml \
tool-ocaml/t140-switch-3.ml \
tool-ocaml/t140-switch-4.ml \
tool-ocaml/t141-switch-5.ml \
tool-ocaml/t141-switch-6.ml \
tool-ocaml/t141-switch-7.ml \
tool-ocaml/t142-switch-8.ml \
tool-ocaml/t142-switch-9.ml \
tool-ocaml/t142-switch-A.ml \
tool-ocaml/t150-push-1.ml \
tool-ocaml/t150-push-2.ml \
tool-ocaml/t160-closure.ml \
tool-ocaml/t161-apply1.ml \
tool-ocaml/t162-return.ml \
tool-ocaml/t163.ml \
tool-ocaml/t164-apply2.ml \
tool-ocaml/t164-apply3.ml \
tool-ocaml/t165-apply.ml \
tool-ocaml/t170-envacc2.ml \
tool-ocaml/t170-envacc3.ml \
tool-ocaml/t170-envacc4.ml \
tool-ocaml/t171-envacc.ml \
tool-ocaml/t172-pushenvacc1.ml \
tool-ocaml/t172-pushenvacc2.ml \
tool-ocaml/t172-pushenvacc3.ml \
tool-ocaml/t172-pushenvacc4.ml \
tool-ocaml/t173-pushenvacc.ml \
tool-ocaml/t180-appterm1.ml \
tool-ocaml/t180-appterm2.ml \
tool-ocaml/t180-appterm3.ml \
tool-ocaml/t181-appterm.ml \
tool-ocaml/t190-makefloatblock-1.ml \
tool-ocaml/t190-makefloatblock-2.ml \
tool-ocaml/t190-makefloatblock-3.ml \
tool-ocaml/t191-vectlength.ml \
tool-ocaml/t192-getfloatfield-1.ml \
tool-ocaml/t192-getfloatfield-2.ml \
tool-ocaml/t193-setfloatfield-1.ml \
tool-ocaml/t193-setfloatfield-2.ml \
tool-ocaml/t200-getfield0.ml \
tool-ocaml/t200-getfield1.ml \
tool-ocaml/t200-getfield2.ml \
tool-ocaml/t200-getfield3.ml \
tool-ocaml/t201-getfield.ml \
tool-ocaml/t210-setfield0.ml \
tool-ocaml/t210-setfield1.ml \
tool-ocaml/t210-setfield2.ml \
tool-ocaml/t210-setfield3.ml \
tool-ocaml/t211-setfield.ml \
tool-ocaml/t220-assign.ml \
tool-ocaml/t230-check_signals.ml \
tool-ocaml/t240-c_call1.ml \
tool-ocaml/t240-c_call2.ml \
tool-ocaml/t240-c_call3.ml \
tool-ocaml/t240-c_call4.ml \
tool-ocaml/t240-c_call5.ml \
tool-ocaml/t250-closurerec-1.ml \
tool-ocaml/t250-closurerec-2.ml \
tool-ocaml/t251-pushoffsetclosure0.ml \
tool-ocaml/t251-pushoffsetclosure2.ml \
tool-ocaml/t251-pushoffsetclosurem2.ml \
tool-ocaml/t252-pushoffsetclosure.ml \
tool-ocaml/t253-offsetclosure0.ml \
tool-ocaml/t253-offsetclosure2.ml \
tool-ocaml/t253-offsetclosurem2.ml \
tool-ocaml/t254-offsetclosure.ml \
tool-ocaml/t260-offsetref.ml \
tool-ocaml/t270-push_retaddr.ml \
tool-ocaml/t300-getmethod.ml \
tool-ocaml/t301-object.ml \
tool-ocaml/t310-alloc-1.ml \
tool-ocaml/t310-alloc-2.ml \
tool-ocaml/t320-gc-1.ml \
tool-ocaml/t320-gc-2.ml \
tool-ocaml/t320-gc-3.ml \
tool-ocaml/t330-compact-1.ml \
tool-ocaml/t330-compact-2.ml \
tool-ocaml/t330-compact-3.ml \
tool-ocaml/t330-compact-4.ml \
tool-ocaml/t340-weak.ml \
tool-ocaml/t350-heapcheck.ml \
tool-ocaml/t360-stacks-1.ml \
tool-ocaml/t360-stacks-2.ml \
tool-ocamlc-compat32/compat32.ml \
tool-ocamlc-error-cleanup/test.ml \
tool-ocamlc-open/tool-ocamlc-open-error.ml \
tool-ocamlc-open/tool-ocamlc-open.ml \
tool-ocamlc-stop-after/stop_after_lambda.ml \
tool-ocamlc-stop-after/stop_after_scheduling.ml \
tool-ocamldep-modalias/main.ml \
tool-ocamldep-shadowing/a.ml \
tool-ocamldoc-open/main.ml \
tool-ocamldoc/Alert_toplevel.mli \
tool-ocamldoc/Alert_toplevel2.mli \
tool-ocamldoc/Alerts.mli \
tool-ocamldoc/Alerts_impl.ml \
tool-ocamldoc/Documentation_tags.mli \
tool-ocamldoc/Entities.ml \
tool-ocamldoc/Extensible_variant.ml \
tool-ocamldoc/Include_module_type_of.mli \
tool-ocamldoc/Inline_records.mli \
tool-ocamldoc/Inline_records_bis.ml \
tool-ocamldoc/Item_ids.mli \
tool-ocamldoc/Level_0.mli \
tool-ocamldoc/Linebreaks.mli \
tool-ocamldoc/Loop.ml \
tool-ocamldoc/Module_whitespace.ml \
tool-ocamldoc/No_preamble.mli \
tool-ocamldoc/Paragraph.mli \
tool-ocamldoc/Short_description.txt \
tool-ocamldoc/Test.mli \
tool-ocamldoc/Variants.mli \
tool-ocamldoc/latex_ref.mli \
tool-ocamldoc/t01.ml \
tool-ocamldoc/t02.ml \
tool-ocamldoc/t03.ml \
tool-ocamldoc/t04.ml \
tool-ocamldoc/t05.ml \
tool-ocamlobjinfo/question.ml \
tool-ocamlopt-save-ir/check_for_pack.ml \
tool-ocamlopt-save-ir/save_ir_after_scheduling.ml \
tool-ocamlopt-save-ir/save_ir_after_typing.ml \
tool-ocamlopt-save-ir/start_from_emit.ml \
tool-ocamlopt-stop-after/stop_after_lambda.ml \
tool-ocamlopt-stop-after/stop_after_scheduling.ml \
tool-ocamltest/norm1.ml \
tool-ocamltest/norm2.ml \
tool-ocamltest/norm3.ml \
tool-ocamltest/norm4.ml \
tool-toplevel-invocation/test.ml \
tool-toplevel/exotic_lists.ml \
tool-toplevel/install_printer.ml \
tool-toplevel/known-bugs/broken_rec_in_show.ml \
tool-toplevel/mod_use.ml \
tool-toplevel/pr6468.ml \
tool-toplevel/pr7060.ml \
tool-toplevel/pr7751.ml \
tool-toplevel/pr9701.ml \
tool-toplevel/printval.ml \
tool-toplevel/redefinition_hints.ml \
tool-toplevel/show.ml \
tool-toplevel/show_short_paths.ml \
tool-toplevel/strings.ml \
tool-toplevel/topeval.ml \
tool-toplevel/tracing.ml \
tool-toplevel/uncaught_exceptions.ml \
tool-toplevel/use_command.ml \
translprim/array_spec.ml \
translprim/comparison_table.ml \
translprim/module_coercion.ml \
translprim/ref_spec.ml \
translprim/sendcache.ml \
typing-core-bugs/const_int_hint.ml \
typing-core-bugs/missing_rec_hint.ml \
typing-core-bugs/repeated_did_you_mean.ml \
typing-core-bugs/type_expected_explanation.ml \
typing-core-bugs/unit_fun_hints.ml \
typing-deprecated/alerts.ml \
typing-deprecated/deprecated.ml \
typing-extension-constructor/test.ml \
typing-extensions/cast.ml \
typing-extensions/disambiguation.ml \
typing-extensions/extensions.ml \
typing-extensions/msg.ml \
typing-extensions/open_types.ml \
typing-external/pr11392.ml \
typing-fstclassmod/aliases.ml \
typing-fstclassmod/fstclassmod.ml \
typing-fstclassmod/nondep_instance.ml \
typing-fstclassmod/scope_escape.ml \
typing-gadts/ambiguity.ml \
typing-gadts/ambivalent_apply.ml \
typing-gadts/didier.ml \
typing-gadts/dynamic_frisch.ml \
typing-gadts/gadthead.ml \
typing-gadts/name_existentials.ml \
typing-gadts/nested_equations.ml \
typing-gadts/omega07.ml \
typing-gadts/or_patterns.ml \
typing-gadts/packed-module-recasting.ml \
typing-gadts/pr10189.ml \
typing-gadts/pr10271.ml \
typing-gadts/pr10348.ml \
typing-gadts/pr10735.ml \
typing-gadts/pr10907.ml \
typing-gadts/pr11888.ml \
typing-gadts/pr5332.ml \
typing-gadts/pr5689.ml \
typing-gadts/pr5785.ml \
typing-gadts/pr5848.ml \
typing-gadts/pr5906.ml \
typing-gadts/pr5948.ml \
typing-gadts/pr5981.ml \
typing-gadts/pr5985.ml \
typing-gadts/pr5989.ml \
typing-gadts/pr5997.ml \
typing-gadts/pr6158.ml \
typing-gadts/pr6163.ml \
typing-gadts/pr6174.ml \
typing-gadts/pr6241.ml \
typing-gadts/pr6690.ml \
typing-gadts/pr6817.ml \
typing-gadts/pr6934.ml \
typing-gadts/pr6980.ml \
typing-gadts/pr6993_bad.ml \
typing-gadts/pr7016.ml \
typing-gadts/pr7160.ml \
typing-gadts/pr7214.ml \
typing-gadts/pr7222.ml \
typing-gadts/pr7230.ml \
typing-gadts/pr7234.ml \
typing-gadts/pr7260.ml \
typing-gadts/pr7269.ml \
typing-gadts/pr7298.ml \
typing-gadts/pr7374.ml \
typing-gadts/pr7378.ml \
typing-gadts/pr7381.ml \
typing-gadts/pr7390.ml \
typing-gadts/pr7391.ml \
typing-gadts/pr7397.ml \
typing-gadts/pr7421.ml \
typing-gadts/pr7432.ml \
typing-gadts/pr7520.ml \
typing-gadts/pr7618.ml \
typing-gadts/pr7747.ml \
typing-gadts/pr7902.ml \
typing-gadts/pr9019.ml \
typing-gadts/pr9759.ml \
typing-gadts/pr9799.ml \
typing-gadts/principality-and-gadts.ml \
typing-gadts/return_type.ml \
typing-gadts/term-conv.ml \
typing-gadts/test.ml \
typing-gadts/unexpected_existentials.ml \
typing-gadts/unify_mb.ml \
typing-gadts/variables_in_mcomp.ml \
typing-gadts/yallop_bugs.ml \
typing-immediate/immediate.ml \
typing-implicit_unpack/implicit_unpack.ml \
typing-kind/kind_mismatch.ml \
typing-labels/mixin.ml \
typing-labels/mixin2.ml \
typing-labels/mixin3.ml \
typing-misc-bugs/core_array_reduced_ok.ml \
typing-misc-bugs/gadt_declaration_check.ml \
typing-misc/apply_non_function.ml \
typing-misc/build_as_type.ml \
typing-misc/constraints.ml \
typing-misc/deep.ml \
typing-misc/disambiguate_principality.ml \
typing-misc/distant_errors.ml \
typing-misc/empty_variant.ml \
typing-misc/enrich_typedecl.ml \
typing-misc/exotic_unifications.ml \
typing-misc/external_arity.ml \
typing-misc/filter_params.ml \
typing-misc/gpr2277.ml \
typing-misc/includeclass_errors.ml \
typing-misc/injectivity.ml \
typing-misc/inside_out.ml \
typing-misc/is_expansive.ml \
typing-misc/labels.ml \
typing-misc/normalize_type.ml \
typing-misc/occur_check.ml \
typing-misc/optbinders.ml \
typing-misc/pat_type_sharing.ml \
typing-misc/pattern_open.ml \
typing-misc/polyvars.ml \
typing-misc/pr6416.ml \
typing-misc/pr6634.ml \
typing-misc/pr6939-flat-float-array.ml \
typing-misc/pr6939-no-flat-float-array.ml \
typing-misc/pr7103.ml \
typing-misc/pr7228.ml \
typing-misc/pr7668_bad.ml \
typing-misc/pr7712.ml \
typing-misc/pr7937.ml \
typing-misc/pr8548.ml \
typing-misc/pr8548_split.ml \
typing-misc/printing.ml \
typing-misc/records.ml \
typing-misc/scope_escape.ml \
typing-misc/typecore_empty_polyvariant_error.ml \
typing-misc/typecore_errors.ml \
typing-misc/typecore_nolabel_errors.ml \
typing-misc/typetexp_errors.ml \
typing-misc/unbound_type_variables.ml \
typing-misc/unique_names_in_unification.ml \
typing-misc/variance.ml \
typing-misc/variant.ml \
typing-misc/wellfounded.ml \
typing-misc/wrong_kind.ml \
typing-missing-cmi-2/test.ml \
typing-missing-cmi-3/user.ml \
typing-missing-cmi/test.ml \
typing-modules-bugs/gatien_baron_20131019_ok.ml \
typing-modules-bugs/pr10661_ok.ml \
typing-modules-bugs/pr5164_ok.ml \
typing-modules-bugs/pr51_ok.ml \
typing-modules-bugs/pr5663_ok.ml \
typing-modules-bugs/pr5914_ok.ml \
typing-modules-bugs/pr6240_ok.ml \
typing-modules-bugs/pr6485_ok.ml \
typing-modules-bugs/pr6513_ok.ml \
typing-modules-bugs/pr6572_ok.ml \
typing-modules-bugs/pr6651_ok.ml \
typing-modules-bugs/pr6752_ok.ml \
typing-modules-bugs/pr6899_ok.ml \
typing-modules-bugs/pr6944_ok.ml \
typing-modules-bugs/pr6954_ok.ml \
typing-modules-bugs/pr6981_ok.ml \
typing-modules-bugs/pr6982_ok.ml \
typing-modules-bugs/pr6985_extended.ml \
typing-modules-bugs/pr6985_ok.ml \
typing-modules-bugs/pr7036_ok.ml \
typing-modules-bugs/pr7082_ok.ml \
typing-modules-bugs/pr7112_ok.ml \
typing-modules-bugs/pr7152_ok.ml \
typing-modules-bugs/pr7182_ok.ml \
typing-modules-bugs/pr7305_principal.ml \
typing-modules-bugs/pr7321_ok.ml \
typing-modules-bugs/pr7519_ok.ml \
typing-modules-bugs/pr7601_ok.ml \
typing-modules-bugs/pr7601a_ok.ml \
typing-modules/Test.ml \
typing-modules/aliases.ml \
typing-modules/anonymous.ml \
typing-modules/applicative_functor_type.ml \
typing-modules/extension_constructors_errors_test.ml \
typing-modules/firstclass.ml \
typing-modules/functors.ml \
typing-modules/generative.ml \
typing-modules/illegal_permutation.ml \
typing-modules/inclusion_errors.ml \
typing-modules/inclusion_errors_elision.ml \
typing-modules/merge_constraint.ml \
typing-modules/module_type_substitution.ml \
typing-modules/nondep.ml \
typing-modules/nondep_private_abbrev.ml \
typing-modules/nongen.ml \
typing-modules/normalize_path.ml \
typing-modules/packed_module_levels.ml \
typing-modules/pr10298.ml \
typing-modules/pr10399.ml \
typing-modules/pr5911.ml \
typing-modules/pr6394.ml \
typing-modules/pr6633.ml \
typing-modules/pr7207.ml \
typing-modules/pr7348.ml \
typing-modules/pr7726.ml \
typing-modules/pr7787.ml \
typing-modules/pr7818.ml \
typing-modules/pr7851.ml \
typing-modules/pr8810.ml \
typing-modules/pr9384.ml \
typing-modules/pr9695.ml \
typing-modules/printing.ml \
typing-modules/private.ml \
typing-modules/records_errors_test.ml \
typing-modules/recursive.ml \
typing-modules/struct_include_optimisation.ml \
typing-modules/unroll_private_abbrev.ml \
typing-modules/variants_errors_test.ml \
typing-modules/with_ghosts.ml \
typing-multifile/pr6372.ml \
typing-multifile/pr7325.ml \
typing-multifile/pr7563.ml \
typing-multifile/pr9218.ml \
typing-objects-bugs/pr4766_ok.ml \
typing-objects-bugs/pr4824_ok.ml \
typing-objects-bugs/pr5156_ok.ml \
typing-objects-bugs/pr7293_ok.ml \
typing-objects-bugs/woodyatt_ok.ml \
typing-objects-bugs/yamagata021012_ok.ml \
typing-objects/Exemples.ml \
typing-objects/Tests.ml \
typing-objects/abstract_rows.ml \
typing-objects/class_2.ml \
typing-objects/dummy.ml \
typing-objects/errors.ml \
typing-objects/field_kind.ml \
typing-objects/nongen.ml \
typing-objects/open_in_classes.ml \
typing-objects/pr11569.ml \
typing-objects/pr5545.ml \
typing-objects/pr5619_bad.ml \
typing-objects/pr5858.ml \
typing-objects/pr6123_bad.ml \
typing-objects/pr6383.ml \
typing-objects/pr6907_bad.ml \
typing-objects/pr7711_ok.ml \
typing-objects/self_cannot_be_closed.ml \
typing-objects/self_cannot_escape_pr7865.ml \
typing-objects/unbound-type-var.ml \
typing-poly-bugs/pr5322_ok.ml \
typing-poly-bugs/pr5673_ok.ml \
typing-poly-bugs/pr6922_ok.ml \
typing-poly/error_messages.ml \
typing-poly/poly.ml \
typing-poly/pr7636.ml \
typing-poly/pr9603.ml \
typing-polyvariants-bugs/pr10664.ml \
typing-polyvariants-bugs/pr10664a.ml \
typing-polyvariants-bugs/pr4775_ok.ml \
typing-polyvariants-bugs/pr4933_ok.ml \
typing-polyvariants-bugs/pr5057_ok.ml \
typing-polyvariants-bugs/pr7199_ok.ml \
typing-polyvariants-bugs/pr7817_bad.ml \
typing-polyvariants-bugs/pr7824.ml \
typing-polyvariants-bugs/pr8575.ml \
typing-polyvariants-bugs/privrowsabate_ok.ml \
typing-private-bugs/pr5469_ok.ml \
typing-private/invalid_private_row.ml \
typing-private/private.ml \
typing-recmod/gpr1626.ml \
typing-recmod/pr6491.ml \
typing-recmod/t03ok.ml \
typing-recmod/t06ok.ml \
typing-recmod/t10ok.ml \
typing-recmod/t13ok.ml \
typing-recmod/t16ok.ml \
typing-recmod/t17ok.ml \
typing-recmod/t18ok.ml \
typing-recmod/t20ok.ml \
typing-recmod/t21ok.ml \
typing-recmod/t22ok.ml \
typing-recordarg/recordarg.ml \
typing-shadowing-of-pervasives-submodules/redefine_largefile.ml \
typing-shadowing-of-pervasives-submodules/redefine_largefile_top.ml \
typing-short-paths/errors.ml \
typing-short-paths/gpr1223.ml \
typing-short-paths/pr6836.ml \
typing-short-paths/pr7543.ml \
typing-short-paths/short-paths.ml \
typing-signatures/els.ml \
typing-signatures/nondep_regression.ml \
typing-signatures/pr6371.ml \
typing-signatures/pr6672.ml \
typing-sigsubst/sig_local_aliases.ml \
typing-sigsubst/sigsubst.ml \
typing-sigsubst/test_locations.ml \
typing-typeparam/newtype.ml \
typing-unboxed-types/test.ml \
typing-unboxed-types/test_flat.ml \
typing-unboxed-types/test_no_flat.ml \
typing-unboxed/test.ml \
typing-warnings/ambiguous_guarded_disjunction.ml \
typing-warnings/application.ml \
typing-warnings/coercions.ml \
typing-warnings/disable_warnings_classes.ml \
typing-warnings/exhaustiveness.ml \
typing-warnings/fragile_matching.ml \
typing-warnings/never_returns.ml \
typing-warnings/open_warnings.ml \
typing-warnings/pr5892.ml \
typing-warnings/pr6587.ml \
typing-warnings/pr6872.ml \
typing-warnings/pr7085.ml \
typing-warnings/pr7115.ml \
typing-warnings/pr7297.ml \
typing-warnings/pr7553.ml \
typing-warnings/pr9244.ml \
typing-warnings/records.ml \
typing-warnings/unused_functor_parameter.ml \
typing-warnings/unused_rec.ml \
typing-warnings/unused_recmodule.ml \
typing-warnings/unused_types.ml \
typing-warnings/warning16.ml \
unboxed-primitive-args/test.ml \
unwind/driver.ml \
utils/edit_distance.ml \
utils/find_first_mono.ml \
utils/magic_number.ml \
utils/overflow_detection.ml \
utils/test_strongly_connected_components.ml \
warnings/deprecated_warning_specs.ml \
warnings/mnemonics.mll \
warnings/w51.ml \
warnings/w52.ml \
warnings/w58.ml \
weak-ephe-final/ephe_infix.ml \
weak-ephe-final/ephetest.ml \
weak-ephe-final/ephetest2.ml \
weak-ephe-final/ephetest3.ml \
weak-ephe-final/ephetest_par.ml \
weak-ephe-final/finaliser.ml \
weak-ephe-final/finaliser2.ml \
weak-ephe-final/finaliser_handover.ml \
weak-ephe-final/pr12001.ml \
weak-ephe-final/weaklifetime.ml \
weak-ephe-final/weaklifetime2.ml \
weak-ephe-final/weaktest.ml \
weak-ephe-final/weaktest_par_load.ml \
win-unicode/mltest.ml \
"

# These tests have to be translated in `lines` mode to preserve line numbers
TESTS_LINES="
asmcomp/poll_attr_both.ml \
asmcomp/poll_attr_prologue.ml \
asmcomp/poll_attr_user.ml \
backtrace/backtrace2.ml \
backtrace/backtrace3.ml \
backtrace/backtrace_bounds_exn.ml \
backtrace/backtrace_c_exn.ml \
backtrace/backtrace_deprecated.ml \
backtrace/backtrace_dynlink.ml \
backtrace/backtrace_effects.ml \
backtrace/backtrace_effects_nested.ml \
backtrace/backtrace_or_exception.ml \
backtrace/backtrace_slots.ml \
backtrace/backtrace_systhreads.ml \
backtrace/callstack.ml \
backtrace/event_after_prim.ml \
backtrace/inline_test.ml \
backtrace/inline_traversal_test.ml \
backtrace/methods.ml \
backtrace/names.ml \
backtrace/pr2195.ml \
backtrace/pr6920_why_at.ml \
backtrace/pr6920_why_swallow.ml \
backtrace/raw_backtrace.ml \
basic-modules/anonymous.ml \
basic-more/morematch.ml \
basic-more/pr10338.ml \
basic-more/safer_matching.ml \
basic/unit_naming.ml \
effects/backtrace.ml \
generalized-open/funct_body.ml \
letrec-check/pr7231.ml \
letrec-check/pr7706.ml \
lexing/escape.ml \
lib-dynlink-initializers/test10_main.ml \
lib-threads/uncaught_exception_handler.ml \
local-functions/non_local.ml \
no-alias-deps/aliases.ml \
parse-errors/escape_error.ml \
parse-errors/expecting.ml \
parse-errors/mismatch_struct_sig.ml \
parse-errors/pr7847.ml \
parsing/assert_location.ml \
parsing/broken_invariants.ml \
parsing/constructor_declarations.ml \
parsing/pr6604.ml \
parsing/pr6604_2.ml \
parsing/pr7165.ml \
shadow_include/cannot_shadow_error.ml \
tmc/partial_application.ml \
tmc/tupled_function_calls.ml \
tool-debugger/module_named_main/main.ml \
tool-debugger/printer/debuggee.ml \
tool-toplevel/error_highlighting.ml \
translprim/locs.ml \
typing-misc-bugs/pr6303_bad.ml \
typing-misc-bugs/pr6946_bad.ml \
typing-modules-bugs/pr10693_bad.ml \
typing-modules-bugs/pr6293_bad.ml \
typing-modules-bugs/pr6427_bad.ml \
typing-modules-bugs/pr6752_bad.ml \
typing-modules-bugs/pr6899_first_bad.ml \
typing-modules-bugs/pr6899_second_bad.ml \
typing-modules-bugs/pr6992_bad.ml \
typing-modules-bugs/pr7112_bad.ml \
typing-modules-bugs/pr7414_2_bad.ml \
typing-modules-bugs/pr7414_bad.ml \
typing-modules-bugs/pr9695_bad.ml \
typing-objects-bugs/pr3968_bad.ml \
typing-objects-bugs/pr4018_bad.ml \
typing-objects-bugs/pr4435_bad.ml \
typing-objects-bugs/pr4824a_bad.ml \
typing-objects-bugs/pr7284_bad.ml \
typing-ocamlc-i/pervasives_leitmotiv.ml \
typing-ocamlc-i/pr4791.ml \
typing-ocamlc-i/pr6323.ml \
typing-ocamlc-i/pr7402.ml \
typing-ocamlc-i/pr7620_bad.ml \
typing-polyvariants-bugs-2/pr3918c.ml \
typing-polyvariants-bugs/pr5057a_bad.ml \
typing-private-bugs/pr5026_bad.ml \
typing-recmod/pr9494.ml \
typing-recmod/t01bad.ml \
typing-recmod/t02bad.ml \
typing-recmod/t04bad.ml \
typing-recmod/t05bad.ml \
typing-recmod/t07bad.ml \
typing-recmod/t08bad.ml \
typing-recmod/t09bad.ml \
typing-recmod/t11bad.ml \
typing-recmod/t12bad.ml \
typing-recmod/t14bad.ml \
typing-recmod/t15bad.ml \
typing-rectypes-bugs/pr5343_bad.ml \
typing-rectypes-bugs/pr6174_bad.ml \
typing-rectypes-bugs/pr6870_bad.ml \
typing-safe-linking/b_bad.ml \
typing-short-paths/pr5918.ml \
typing-sigsubst/sig_local_aliases_syntax_errors.ml \
typing-warnings/pr7261.ml \
warnings/deprecated_module.ml \
warnings/deprecated_module_assigment.ml \
warnings/deprecated_module_use.ml \
warnings/deprecated_mutable.ml \
warnings/w01.ml \
warnings/w03.ml \
warnings/w04.ml \
warnings/w04_failure.ml \
warnings/w06.ml \
warnings/w32.ml \
warnings/w32b.ml \
warnings/w33.ml \
warnings/w45.ml \
warnings/w47_inline.ml \
warnings/w50.ml \
warnings/w51_bis.ml \
warnings/w53.ml \
warnings/w54.ml \
warnings/w55.ml \
warnings/w59.ml \
warnings/w60.ml \
warnings/w68.ml \
"

# These tests have to be translated without extra blank lines in order
# to preserve at the same time line numbers and the position of EOF
TESTS_COMPACT="
parse-errors/unclosed_class_signature.mli \
parse-errors/unclosed_class_simpl_expr1.ml \
parse-errors/unclosed_class_simpl_expr2.ml \
parse-errors/unclosed_class_simpl_expr3.ml \
parse-errors/unclosed_object.ml \
parse-errors/unclosed_paren_module_expr1.ml \
parse-errors/unclosed_paren_module_expr2.ml \
parse-errors/unclosed_paren_module_expr3.ml \
parse-errors/unclosed_paren_module_expr4.ml \
parse-errors/unclosed_paren_module_expr5.ml \
parse-errors/unclosed_paren_module_type.mli \
parse-errors/unclosed_sig.mli \
parse-errors/unclosed_simple_expr.ml \
parse-errors/unclosed_simple_pattern.ml \
parse-errors/unclosed_struct.ml \
parsing/arrow_ambiguity.ml \
"

# These tests have to be translated in `chars` mode to preserve char offsets
TESTS_CHARS="
formatting/test_locations.ml \
parsetree/locations_test.ml \
parsing/attributes.ml \
parsing/extensions.ml \
parsing/hash_ambiguity.ml \
parsing/int_and_float_with_modifier.ml \
parsing/pr6865.ml \
parsing/quotedextensions.ml \
parsing/shortcut_ext_attr.ml \
tool-ocamlc-stop-after/stop_after_parsing_impl.ml \
tool-ocamlc-stop-after/stop_after_parsing_intf.mli \
tool-ocamlc-stop-after/stop_after_typing_impl.ml \
"

for f in $TESTS_COMMENTS; do
  echo comments: $f
  ff="testsuite/tests/$f"
  echo "$ff:1.1: warning: contains comments, needs to be done by hand"
done

for f in $TESTS_PLAIN; do
  echo plain: $f
  ff="testsuite/tests/$f"
  ocamltest/ocamltest -translate -compact ../trunk/$ff >$ff
done

for f in $TESTS_LINES; do
  echo lines: $f
  ff="testsuite/tests/$f"
  ocamltest/ocamltest -translate -compact -keep-lines ../trunk/$ff >$ff
done

for f in $TESTS_COMPACT; do
  echo compact: $f
  ff="testsuite/tests/$f"
  ocamltest/ocamltest -translate -compact ../trunk/$ff >$ff
done

for f in $TESTS_CHARS; do
  echo chars: $f
  ff="testsuite/tests/$f"
  ocamltest/ocamltest -translate -compact -keep-chars ../trunk/$ff >$ff
done

N=$(echo $TESTS_COMMENTS $TESTS_PLAIN $TESTS_COMPACT $TESTS_LINES $TESTS_CHARS \
   | wc -w)
if [ $N -ne 1328 ]; then
  printf "Error: wrong number of test files (%d should be 1328)\n" $N
  exit 5
fi
