├── .depend ├── .gitattributes ├── .github └── FUNDING.yml ├── .gitignore ├── .gitmodules ├── .mailmap ├── .merlin ├── .ocp-indent ├── .travis-ci.sh ├── .travis.yml ├── CONTRIBUTING.md ├── Changes ├── HACKING.adoc ├── INSTALL.adoc ├── LICENSE ├── Makefile ├── Makefile.common ├── Makefile.nt ├── Makefile.tools ├── README.adoc ├── README.win32.adoc ├── VERSION ├── appveyor.yml ├── appveyor_build.cmd ├── appveyor_build.sh ├── asmcomp ├── CSEgen.ml ├── CSEgen.mli ├── afl_instrument.ml ├── afl_instrument.mli ├── amd64 │ ├── CSE.ml │ ├── NOTES.md │ ├── arch.ml │ ├── emit.mlp │ ├── proc.ml │ ├── reload.ml │ ├── scheduling.ml │ └── selection.ml ├── arm │ ├── CSE.ml │ ├── NOTES.md │ ├── arch.ml │ ├── emit.mlp │ ├── proc.ml │ ├── reload.ml │ ├── scheduling.ml │ └── selection.ml ├── arm64 │ ├── CSE.ml │ ├── NOTES.md │ ├── arch.ml │ ├── emit.mlp │ ├── proc.ml │ ├── reload.ml │ ├── scheduling.ml │ └── selection.ml ├── asmgen.mli ├── asmgen.mlp-native ├── asmgen.mlp-wasm ├── asmlibrarian.ml ├── asmlibrarian.mli ├── asmlink.ml ├── asmlink.mli ├── asmpackager.ml ├── asmpackager.mli ├── branch_relaxation.ml ├── branch_relaxation.mli ├── branch_relaxation_intf.ml ├── build_export_info.ml ├── build_export_info.mli ├── clambda.ml ├── clambda.mli ├── closure.ml ├── closure.mli ├── closure_offsets.ml ├── closure_offsets.mli ├── cmm.ml ├── cmm.mli ├── cmmgen.ml ├── cmmgen.mli ├── cmx_format.mli ├── coloring.ml ├── coloring.mli ├── comballoc.ml ├── comballoc.mli ├── compilenv.ml ├── compilenv.mli ├── deadcode.ml ├── deadcode.mli ├── debug │ ├── available_regs.ml │ ├── available_regs.mli │ ├── reg_availability_set.ml │ ├── reg_availability_set.mli │ ├── reg_with_debug_info.ml │ └── reg_with_debug_info.mli ├── emit.mlip-native ├── emit.mlip-wasm ├── emitaux.ml ├── emitaux.mli ├── export_info.ml ├── export_info.mli ├── export_info_for_pack.ml ├── export_info_for_pack.mli ├── f32ast.ml ├── flambda_to_clambda.ml ├── flambda_to_clambda.mli ├── i386 │ ├── CSE.ml │ ├── NOTES.md │ ├── arch.ml │ ├── emit.mlp │ ├── proc.ml │ ├── reload.ml │ ├── scheduling.ml │ └── selection.ml ├── import_approx.ml ├── import_approx.mli ├── interf.ml ├── interf.mli ├── interval.ml ├── interval.mli ├── linearize.ml ├── linearize.mli ├── linscan.ml ├── linscan.mli ├── liveness.ml ├── liveness.mli ├── mach.ml ├── mach.mli ├── power │ ├── CSE.ml │ ├── NOTES.md │ ├── arch.ml │ ├── emit.mlp │ ├── proc.ml │ ├── reload.ml │ ├── scheduling.ml │ └── selection.ml ├── printclambda.ml ├── printclambda.mli ├── printcmm.ml ├── printcmm.mli ├── printlinear.ml ├── printlinear.mli ├── printmach.ml ├── printmach.mli ├── proc.mli ├── reg.ml ├── reg.mli ├── reload.mli ├── reloadgen.ml ├── reloadgen.mli ├── s390x │ ├── CSE.ml │ ├── NOTES.md │ ├── arch.ml │ ├── emit.mlp │ ├── proc.ml │ ├── reload.ml │ ├── scheduling.ml │ └── selection.ml ├── schedgen.ml ├── schedgen.mli ├── scheduling.mli ├── selectgen.ml ├── selectgen.mli ├── selection.mli ├── spacetime_profiling.ml ├── spacetime_profiling.mli ├── spill.ml ├── spill.mli ├── split.ml ├── split.mli ├── strmatch.ml ├── strmatch.mli ├── un_anf.ml ├── un_anf.mli ├── utf8.ml ├── wasm32 │ ├── README.md │ ├── arch.ml │ ├── ast.ml │ ├── branch_check.ml │ ├── emit.mlp │ ├── encode.ml │ ├── exception_handling.ml │ ├── f32.ml │ ├── f64.ml │ ├── float.ml │ ├── i32.ml │ ├── i64.ml │ ├── int.ml │ ├── lib.ml │ ├── linking.ml │ ├── load_store_check.ml │ ├── numeric_error.ml │ ├── shadow_stack.ml │ ├── typed_cmm.ml │ ├── utf8.ml │ ├── values.ml │ └── wasm_types.ml ├── x86_ast.mli ├── x86_dsl.ml ├── x86_dsl.mli ├── x86_gas.ml ├── x86_gas.mli ├── x86_masm.ml ├── x86_masm.mli ├── x86_proc.ml └── x86_proc.mli ├── asmrun ├── .depend ├── Makefile ├── Makefile.nt ├── amd64.S ├── amd64nt.asm ├── arm.S ├── arm64.S ├── backtrace_prim.c ├── clambda_checks.c ├── fail.c ├── i386.S ├── i386nt.asm ├── libasmrun.wasm ├── natdynlink.c ├── power.S ├── roots.c ├── s390x.S ├── signals_asm.c ├── signals_osdep.h ├── spacetime.c ├── spacetime_snapshot.c └── startup.c ├── boot ├── ocamlc └── ocamllex ├── bytecomp ├── bytegen.ml ├── bytegen.mli ├── bytelibrarian.ml ├── bytelibrarian.mli ├── bytelink.ml ├── bytelink.mli ├── bytepackager.ml ├── bytepackager.mli ├── bytesections.ml ├── bytesections.mli ├── cmo_format.mli ├── dll.ml ├── dll.mli ├── emitcode.ml ├── emitcode.mli ├── instruct.ml ├── instruct.mli ├── lambda.ml ├── lambda.mli ├── matching.ml ├── matching.mli ├── meta.ml ├── meta.mli ├── printinstr.ml ├── printinstr.mli ├── printlambda.ml ├── printlambda.mli ├── runtimedef.mli ├── semantics_of_primitives.ml ├── semantics_of_primitives.mli ├── simplif.ml ├── simplif.mli ├── switch.ml ├── switch.mli ├── symtable.ml ├── symtable.mli ├── translattribute.ml ├── translattribute.mli ├── translclass.ml ├── translclass.mli ├── translcore.ml ├── translcore.mli ├── translmod.ml ├── translmod.mli ├── translobj.ml └── translobj.mli ├── byterun ├── .depend ├── Makefile ├── Makefile.nt ├── afl.c ├── alloc.c ├── array.c ├── backtrace.c ├── backtrace_prim.c ├── bigarray.c ├── callback.c ├── caml │ ├── address_class.h │ ├── alloc.h │ ├── backtrace.h │ ├── backtrace_prim.h │ ├── bigarray.h │ ├── callback.h │ ├── compact.h │ ├── compare.h │ ├── compatibility.h │ ├── config.h │ ├── custom.h │ ├── debugger.h │ ├── dynlink.h │ ├── exec.h │ ├── fail.h │ ├── finalise.h │ ├── fix_code.h │ ├── freelist.h │ ├── gc.h │ ├── gc_ctrl.h │ ├── globroots.h │ ├── hash.h │ ├── hooks.h │ ├── instrtrace.h │ ├── instruct.h │ ├── int64_emul.h │ ├── int64_format.h │ ├── int64_native.h │ ├── interp.h │ ├── intext.h │ ├── io.h │ ├── major_gc.h │ ├── md5.h │ ├── memory.h │ ├── minor_gc.h │ ├── misc.h │ ├── mlvalues.h │ ├── osdeps.h │ ├── prims.h │ ├── printexc.h │ ├── reverse.h │ ├── roots.h │ ├── setjmp_wasm.h │ ├── signals.h │ ├── signals_machdep.h │ ├── spacetime.h │ ├── stack.h │ ├── stacks.h │ ├── startup.h │ ├── startup_aux.h │ ├── sys.h │ ├── ui.h │ └── weak.h ├── compact.c ├── compare.c ├── custom.c ├── debugger.c ├── dynlink.c ├── extern.c ├── fail.c ├── finalise.c ├── fix_code.c ├── floats.c ├── freelist.c ├── gc_ctrl.c ├── globroots.c ├── hash.c ├── instrtrace.c ├── intern.c ├── interp.c ├── ints.c ├── io.c ├── lexing.c ├── main.c ├── major_gc.c ├── md5.c ├── memory.c ├── meta.c ├── minor_gc.c ├── misc.c ├── obj.c ├── parsing.c ├── printexc.c ├── roots.c ├── signals.c ├── signals_byt.c ├── spacetime.c ├── stacks.c ├── startup.c ├── startup_aux.c ├── str.c ├── sys.c ├── unix.c ├── weak.c └── win32.c ├── compilerlibs └── .gitignore ├── config ├── Makefile-templ ├── Makefile.mingw ├── Makefile.mingw64 ├── Makefile.msvc ├── Makefile.msvc64 ├── auto-aux │ ├── align.c │ ├── ansi.c │ ├── async_io.c │ ├── cckind.c │ ├── cfi.S │ ├── dblalign.c │ ├── elf.c │ ├── endian.c │ ├── getgroups.c │ ├── gethostbyaddr.c │ ├── gethostbyname.c │ ├── hasgot │ ├── hasgot2 │ ├── hashbang │ ├── hashbang2 │ ├── hashbang3 │ ├── ia32sse2.c │ ├── initgroups.c │ ├── int64align.c │ ├── mmap-huge.c │ ├── nanosecond_stat.c │ ├── runtest │ ├── searchpath │ ├── setgroups.c │ ├── signals.c │ ├── sizes.c │ ├── solaris-ld │ ├── tryassemble │ └── trycompile ├── gnu │ ├── config.guess │ └── config.sub ├── m-nt.h ├── m-templ.h ├── s-nt.h └── s-templ.h ├── configure ├── debugger ├── .depend ├── Makefile ├── Makefile.nt ├── breakpoints.ml ├── breakpoints.mli ├── checkpoints.ml ├── checkpoints.mli ├── command_line.ml ├── command_line.mli ├── debugcom.ml ├── debugcom.mli ├── debugger_config.ml ├── debugger_config.mli ├── eval.ml ├── eval.mli ├── events.ml ├── events.mli ├── exec.ml ├── exec.mli ├── frames.ml ├── frames.mli ├── history.ml ├── history.mli ├── input_handling.ml ├── input_handling.mli ├── int64ops.ml ├── int64ops.mli ├── lexer.mli ├── lexer.mll ├── loadprinter.ml ├── loadprinter.mli ├── main.ml ├── parameters.ml ├── parameters.mli ├── parser.mly ├── parser_aux.mli ├── pattern_matching.ml ├── pattern_matching.mli ├── pos.ml ├── pos.mli ├── primitives.ml ├── primitives.mli ├── printval.ml ├── printval.mli ├── program_loading.ml ├── program_loading.mli ├── program_management.ml ├── program_management.mli ├── question.ml ├── question.mli ├── show_information.ml ├── show_information.mli ├── show_source.ml ├── show_source.mli ├── source.ml ├── source.mli ├── symbols.ml ├── symbols.mli ├── time_travel.ml ├── time_travel.mli ├── trap_barrier.ml ├── trap_barrier.mli ├── unix_tools.ml └── unix_tools.mli ├── driver ├── compdynlink.mlno ├── compenv.ml ├── compenv.mli ├── compile.ml ├── compile.mli ├── compmisc.ml ├── compmisc.mli ├── compplugin.ml ├── compplugin.mli ├── errors.ml ├── errors.mli ├── main.ml ├── main.mli ├── main_args.ml ├── main_args.mli ├── makedepend.ml ├── makedepend.mli ├── ocamlcomp.sh.in ├── optcompile.ml ├── optcompile.mli ├── opterrors.ml ├── opterrors.mli ├── optmain.ml ├── optmain.mli ├── pparse.ml ├── pparse.mli └── wasmmain.ml ├── emacs ├── COPYING ├── Makefile ├── README ├── README.itz ├── caml-compat.el ├── caml-emacs.el ├── caml-font-old.el ├── caml-font.el ├── caml-help.el ├── caml-hilit.el ├── caml-types.el ├── caml-xemacs.el ├── caml.el ├── camldebug.el ├── inf-caml.el └── ocamltags.in ├── experimental ├── doligez │ ├── check-bounds.diff │ └── checkheaders ├── frisch │ ├── Makefile │ ├── bench.ml │ ├── bench_ocamllex_optims.md │ ├── copy_typedef.ml │ ├── eval.ml │ ├── extension_points.txt │ ├── ifdef.ml │ ├── js_syntax.ml │ ├── metaquot_test.ml │ ├── minidoc.ml │ ├── my_lexer2.mll │ ├── nomli.ml │ ├── ppx_builder.ml │ ├── ppx_matches.ml │ ├── test_builder.ml │ ├── test_copy_typedef.ml │ ├── test_copy_typedef.mli │ ├── test_eval.ml │ ├── test_ifdef.ml │ ├── test_js.ml │ ├── test_matches.ml │ ├── test_nomli.ml │ ├── testdoc.mli │ └── unused_exported_values.ml └── garrigue │ ├── .cvsignore │ ├── caml_set_oid.diff │ ├── coerce.diff │ ├── countchars.ml │ ├── dirs_multimatch │ ├── dirs_poly │ ├── fixedtypes.ml │ ├── gadt-escape-check.diff │ ├── generative-functors.diff │ ├── impure-functors.diff │ ├── marshal_objects.diff │ ├── module-errors.diff │ ├── multimatch.diff │ ├── multimatch.ml │ ├── newlabels.ps │ ├── nongeneral-let.diff │ ├── objvariant.diff │ ├── objvariant.ml │ ├── parser-lessminus.diff │ ├── pattern-local-types.diff │ ├── printers.ml │ ├── propagation-to-patterns.diff │ ├── show_types.diff │ ├── tests.ml │ ├── valvirt.diff │ ├── variable-names-Tvar.diff │ ├── variable-names.ml │ ├── varunion.ml │ └── with-module-type.diff ├── fixed_ocamlrun.js ├── lex ├── .depend ├── Makefile ├── Makefile.nt ├── common.ml ├── common.mli ├── compact.ml ├── compact.mli ├── cset.ml ├── cset.mli ├── lexer.mli ├── lexer.mll ├── lexgen.ml ├── lexgen.mli ├── main.ml ├── output.ml ├── output.mli ├── outputbis.ml ├── outputbis.mli ├── parser.mly ├── syntax.ml ├── syntax.mli ├── table.ml └── table.mli ├── libasmrun.wasm ├── man ├── Makefile ├── ocaml.m ├── ocamlc.m ├── ocamlcp.m ├── ocamldebug.m ├── ocamldep.m ├── ocamldoc.m ├── ocamllex.m ├── ocamlmktop.m ├── ocamlopt.m ├── ocamlprof.m ├── ocamlrun.m └── ocamlyacc.m ├── manual ├── LICENSE-for-the-manual ├── Makefile ├── README.md ├── manual │ ├── .gitignore │ ├── Makefile │ ├── allfiles.etex │ ├── biblio.etex │ ├── cmds │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── afl-fuzz.etex │ │ ├── browser.etex │ │ ├── comp.etex │ │ ├── debugger.etex │ │ ├── depend.etex │ │ ├── flambda.etex │ │ ├── intf-c.etex │ │ ├── lexyacc.etex │ │ ├── native.etex │ │ ├── ocamlbuild.etex │ │ ├── ocamldoc.etex │ │ ├── plugins.etex │ │ ├── profil.etex │ │ ├── runtime.etex │ │ ├── spacetime.etex │ │ ├── top.etex │ │ └── unified-options.etex │ ├── foreword.etex │ ├── htmlman │ │ ├── .gitignore │ │ ├── contents_motif.gif │ │ ├── libgraph.gif │ │ ├── next_motif.gif │ │ └── previous_motif.gif │ ├── index.tex │ ├── infoman │ │ └── .gitignore │ ├── library │ │ ├── .cvsignore │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── builtin.etex │ │ ├── compilerlibs.etex │ │ ├── core.etex │ │ ├── libbigarray.etex │ │ ├── libdynlink.etex │ │ ├── libgraph.etex │ │ ├── libgraph.fig │ │ ├── libgraph.png │ │ ├── libnum.etex │ │ ├── libstr.etex │ │ ├── libthreads.etex │ │ ├── libunix.etex │ │ └── stdlib.etex │ ├── macros.hva │ ├── macros.tex │ ├── manual.hva │ ├── manual.inf │ ├── manual.info.header │ ├── manual.tex │ ├── pdfmanual.tex │ ├── plaintext.tex │ ├── refman │ │ ├── .cvsignore │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── classes.etex │ │ ├── compunit.etex │ │ ├── const.etex │ │ ├── expr.etex │ │ ├── exten.etex │ │ ├── lex.etex │ │ ├── modtypes.etex │ │ ├── modules.etex │ │ ├── names.etex │ │ ├── patterns.etex │ │ ├── refman.etex │ │ ├── typedecl.etex │ │ ├── types.etex │ │ └── values.etex │ ├── style.css │ ├── texstuff │ │ ├── .cvsignore │ │ └── .gitignore │ ├── textman │ │ ├── .cvsignore │ │ └── .gitignore │ └── tutorials │ │ ├── .cvsignore │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── advexamples.etex │ │ ├── coreexamples.etex │ │ ├── lablexamples.etex │ │ ├── moduleexamples.etex │ │ ├── objectexamples.etex │ │ └── polymorphism.etex ├── styles │ ├── altindex.sty │ ├── caml-sl.sty │ ├── caml.sty │ ├── doc.tfm │ ├── docbf.tfm │ ├── docit.tfm │ ├── docmi.tfm │ ├── docrm.tfm │ ├── doctt.tfm │ ├── fullpage.sty │ ├── html.sty │ ├── isolatin.sty │ ├── multicols.sty │ ├── multind.sty │ ├── ocamldoc.hva │ ├── ocamldoc.sty │ ├── plaintext.sty │ ├── scroll.sty │ ├── syntaxdef.hva │ ├── syntaxdef.sty │ └── syntaxdeftxt.sty ├── tests │ ├── Makefile │ ├── README.md │ ├── check-stdlib-modules │ └── cross_reference_checker.ml └── tools │ ├── .gitignore │ ├── .ignore │ ├── Makefile │ ├── caml-tex │ ├── caml_tex2.ml │ ├── dvi_to_txt │ ├── Makefile │ ├── dvi.h │ ├── interp.c │ ├── io.c │ ├── io.h │ ├── main.c │ ├── output.c │ ├── output.h │ ├── print.c │ ├── print_rtf.c │ └── print_styl.c │ ├── fix_index.sh │ ├── format-intf │ ├── htmlcut │ ├── htmlquote.c │ ├── htmltbl │ ├── htmlthread │ ├── htmltransf.mll │ ├── latexmacros.ml │ ├── latexmacros.mli │ ├── latexmain.ml │ ├── latexscan.mll │ ├── texexpand │ ├── texquote2.c │ ├── transf.mll │ └── transfmain.ml ├── middle_end ├── alias_analysis.ml ├── alias_analysis.mli ├── allocated_const.ml ├── allocated_const.mli ├── augment_specialised_args.ml ├── augment_specialised_args.mli ├── backend_intf.mli ├── base_types │ ├── closure_element.ml │ ├── closure_element.mli │ ├── closure_id.ml │ ├── closure_id.mli │ ├── compilation_unit.ml │ ├── compilation_unit.mli │ ├── export_id.ml │ ├── export_id.mli │ ├── id_types.ml │ ├── id_types.mli │ ├── linkage_name.ml │ ├── linkage_name.mli │ ├── mutable_variable.ml │ ├── mutable_variable.mli │ ├── set_of_closures_id.ml │ ├── set_of_closures_id.mli │ ├── set_of_closures_origin.ml │ ├── set_of_closures_origin.mli │ ├── static_exception.ml │ ├── static_exception.mli │ ├── symbol.ml │ ├── symbol.mli │ ├── tag.ml │ ├── tag.mli │ ├── var_within_closure.ml │ ├── var_within_closure.mli │ ├── variable.ml │ └── variable.mli ├── closure_conversion.ml ├── closure_conversion.mli ├── closure_conversion_aux.ml ├── closure_conversion_aux.mli ├── debuginfo.ml ├── debuginfo.mli ├── effect_analysis.ml ├── effect_analysis.mli ├── extract_projections.ml ├── extract_projections.mli ├── find_recursive_functions.ml ├── find_recursive_functions.mli ├── flambda.ml ├── flambda.mli ├── flambda_invariants.ml ├── flambda_invariants.mli ├── flambda_iterators.ml ├── flambda_iterators.mli ├── flambda_utils.ml ├── flambda_utils.mli ├── freshening.ml ├── freshening.mli ├── inconstant_idents.ml ├── inconstant_idents.mli ├── initialize_symbol_to_let_symbol.ml ├── initialize_symbol_to_let_symbol.mli ├── inline_and_simplify.ml ├── inline_and_simplify.mli ├── inline_and_simplify_aux.ml ├── inline_and_simplify_aux.mli ├── inlining_cost.ml ├── inlining_cost.mli ├── inlining_decision.ml ├── inlining_decision.mli ├── inlining_decision_intf.mli ├── inlining_stats.ml ├── inlining_stats.mli ├── inlining_stats_types.ml ├── inlining_stats_types.mli ├── inlining_transforms.ml ├── inlining_transforms.mli ├── invariant_params.ml ├── invariant_params.mli ├── lift_code.ml ├── lift_code.mli ├── lift_constants.ml ├── lift_constants.mli ├── lift_let_to_initialize_symbol.ml ├── lift_let_to_initialize_symbol.mli ├── middle_end.ml ├── middle_end.mli ├── parameter.ml ├── parameter.mli ├── pass_wrapper.ml ├── pass_wrapper.mli ├── projection.ml ├── projection.mli ├── ref_to_variables.ml ├── ref_to_variables.mli ├── remove_free_vars_equal_to_args.ml ├── remove_free_vars_equal_to_args.mli ├── remove_unused_arguments.ml ├── remove_unused_arguments.mli ├── remove_unused_closure_vars.ml ├── remove_unused_closure_vars.mli ├── remove_unused_program_constructs.ml ├── remove_unused_program_constructs.mli ├── share_constants.ml ├── share_constants.mli ├── simple_value_approx.ml ├── simple_value_approx.mli ├── simplify_boxed_integer_ops.ml ├── simplify_boxed_integer_ops.mli ├── simplify_boxed_integer_ops_intf.mli ├── simplify_common.ml ├── simplify_common.mli ├── simplify_primitives.ml ├── simplify_primitives.mli ├── unbox_closures.ml ├── unbox_closures.mli ├── unbox_free_vars_of_closures.ml ├── unbox_free_vars_of_closures.mli ├── unbox_specialised_args.ml └── unbox_specialised_args.mli ├── ocamldoc ├── .depend ├── Changes.txt ├── Makefile ├── Makefile.nt ├── Makefile.unprefix ├── generators │ ├── odoc_literate.ml │ └── odoc_todo.ml ├── ocamldoc.hva ├── ocamldoc.sty ├── odoc.ml ├── odoc_analyse.ml ├── odoc_analyse.mli ├── odoc_args.ml ├── odoc_args.mli ├── odoc_ast.ml ├── odoc_ast.mli ├── odoc_class.ml ├── odoc_comments.ml ├── odoc_comments.mli ├── odoc_comments_global.ml ├── odoc_comments_global.mli ├── odoc_config.ml ├── odoc_config.mli ├── odoc_control.ml ├── odoc_cross.ml ├── odoc_cross.mli ├── odoc_dag2html.ml ├── odoc_dag2html.mli ├── odoc_dep.ml ├── odoc_dot.ml ├── odoc_env.ml ├── odoc_env.mli ├── odoc_exception.ml ├── odoc_extension.ml ├── odoc_gen.ml ├── odoc_gen.mli ├── odoc_global.ml ├── odoc_global.mli ├── odoc_html.ml ├── odoc_index.html ├── odoc_info.ml ├── odoc_info.mli ├── odoc_inherit.ml ├── odoc_latex.ml ├── odoc_latex_style.ml ├── odoc_lexer.mll ├── odoc_man.ml ├── odoc_merge.ml ├── odoc_merge.mli ├── odoc_messages.ml ├── odoc_misc.ml ├── odoc_misc.mli ├── odoc_module.ml ├── odoc_name.ml ├── odoc_name.mli ├── odoc_ocamlhtml.mll ├── odoc_parameter.ml ├── odoc_parser.mly ├── odoc_print.ml ├── odoc_print.mli ├── odoc_scan.ml ├── odoc_search.ml ├── odoc_search.mli ├── odoc_see_lexer.mll ├── odoc_sig.ml ├── odoc_sig.mli ├── odoc_str.ml ├── odoc_str.mli ├── odoc_test.ml ├── odoc_texi.ml ├── odoc_text.ml ├── odoc_text.mli ├── odoc_text_lexer.mll ├── odoc_text_parser.mly ├── odoc_to_text.ml ├── odoc_type.ml ├── odoc_types.ml ├── odoc_types.mli ├── odoc_value.ml ├── remove_DEBUG └── stdlib_non_prefixed │ ├── .depend │ ├── Makefile │ └── extract_pervasives.awk ├── ocamltest ├── .depend ├── Makefile ├── README ├── actions.ml ├── actions.mli ├── actions_helpers.ml ├── actions_helpers.mli ├── builtin_actions.ml ├── builtin_actions.mli ├── builtin_variables.ml ├── builtin_variables.mli ├── environments.ml ├── environments.mli ├── filecompare.ml ├── filecompare.mli ├── getocamloptdefaultflags ├── main.ml ├── main.mli ├── ocaml_actions.ml ├── ocaml_actions.mli ├── ocaml_backends.ml ├── ocaml_backends.mli ├── ocaml_commands.ml ├── ocaml_commands.mli ├── ocaml_compilers.ml ├── ocaml_compilers.mli ├── ocaml_directories.ml ├── ocaml_directories.mli ├── ocaml_files.ml ├── ocaml_files.mli ├── ocaml_filetypes.ml ├── ocaml_filetypes.mli ├── ocaml_flags.ml ├── ocaml_flags.mli ├── ocaml_modifiers.ml ├── ocaml_modifiers.mli ├── ocaml_tests.ml ├── ocaml_tests.mli ├── ocaml_tools.ml ├── ocaml_tools.mli ├── ocaml_toplevels.ml ├── ocaml_toplevels.mli ├── ocaml_variables.ml ├── ocaml_variables.mli ├── ocamltest_config.ml.in ├── ocamltest_config.mli ├── ocamltest_stdlib.ml ├── ocamltest_stdlib.mli ├── ocamltest_stdlib_stubs.c ├── options.ml ├── options.mli ├── result.ml ├── result.mli ├── run.h ├── run_command.ml ├── run_command.mli ├── run_common.h ├── run_stubs.c ├── run_unix.c ├── run_win32.c ├── tests.ml ├── tests.mli ├── tsl_ast.ml ├── tsl_ast.mli ├── tsl_lexer.mli ├── tsl_lexer.mll ├── tsl_parser.mly ├── tsl_semantics.ml ├── tsl_semantics.mli ├── variables.ml └── variables.mli ├── otherlibs ├── Makefile ├── bigarray │ ├── .depend │ ├── Makefile │ ├── Makefile.nt │ ├── bigarray.ml │ ├── bigarray.mli │ └── bigarray_stubs.c ├── dynlink │ ├── Makefile │ ├── Makefile.nt │ ├── dynlink.ml │ ├── dynlink.mli │ ├── extract_crc.ml │ └── natdynlink.ml ├── graph │ ├── .depend │ ├── Makefile │ ├── color.c │ ├── draw.c │ ├── dump_img.c │ ├── events.c │ ├── fill.c │ ├── graphics.ml │ ├── graphics.mli │ ├── graphicsX11.ml │ ├── graphicsX11.mli │ ├── image.c │ ├── image.h │ ├── libgraph.h │ ├── make_img.c │ ├── open.c │ ├── point_col.c │ ├── sound.c │ ├── subwindow.c │ └── text.c ├── raw_spacetime_lib │ ├── .depend │ ├── Makefile │ ├── Makefile.nt │ ├── raw_spacetime_lib.ml │ ├── raw_spacetime_lib.mli │ └── spacetime_offline.c ├── str │ ├── .depend │ ├── Makefile │ ├── Makefile.nt │ ├── str.ml │ ├── str.mli │ └── strstubs.c ├── systhreads │ ├── .depend │ ├── Makefile │ ├── Makefile.nt │ ├── condition.ml │ ├── condition.mli │ ├── event.ml │ ├── event.mli │ ├── mutex.ml │ ├── mutex.mli │ ├── st_posix.h │ ├── st_stubs.c │ ├── st_win32.h │ ├── thread.ml │ ├── thread.mli │ ├── threadUnix.ml │ ├── threadUnix.mli │ └── threads.h ├── threads │ ├── .depend │ ├── Makefile │ ├── condition.ml │ ├── condition.mli │ ├── event.ml │ ├── event.mli │ ├── marshal.ml │ ├── mutex.ml │ ├── mutex.mli │ ├── scheduler.c │ ├── stdlib.ml │ ├── thread.ml │ ├── thread.mli │ ├── threadUnix.ml │ ├── threadUnix.mli │ └── unix.ml ├── unix │ ├── .depend │ ├── Makefile │ ├── accept.c │ ├── access.c │ ├── addrofstr.c │ ├── alarm.c │ ├── bind.c │ ├── chdir.c │ ├── chmod.c │ ├── chown.c │ ├── chroot.c │ ├── close.c │ ├── closedir.c │ ├── connect.c │ ├── cst2constr.c │ ├── cst2constr.h │ ├── cstringv.c │ ├── dup.c │ ├── dup2.c │ ├── envir.c │ ├── errmsg.c │ ├── execv.c │ ├── execve.c │ ├── execvp.c │ ├── exit.c │ ├── fchmod.c │ ├── fchown.c │ ├── fcntl.c │ ├── fork.c │ ├── ftruncate.c │ ├── getaddrinfo.c │ ├── getcwd.c │ ├── getegid.c │ ├── geteuid.c │ ├── getgid.c │ ├── getgr.c │ ├── getgroups.c │ ├── gethost.c │ ├── gethostname.c │ ├── getlogin.c │ ├── getnameinfo.c │ ├── getpeername.c │ ├── getpid.c │ ├── getppid.c │ ├── getproto.c │ ├── getpw.c │ ├── getserv.c │ ├── getsockname.c │ ├── gettimeofday.c │ ├── getuid.c │ ├── gmtime.c │ ├── initgroups.c │ ├── isatty.c │ ├── itimer.c │ ├── kill.c │ ├── link.c │ ├── listen.c │ ├── lockf.c │ ├── lseek.c │ ├── mkdir.c │ ├── mkfifo.c │ ├── mmap.c │ ├── mmap_ba.c │ ├── nanosecond_stat.h │ ├── nice.c │ ├── open.c │ ├── opendir.c │ ├── pipe.c │ ├── putenv.c │ ├── read.c │ ├── readdir.c │ ├── readlink.c │ ├── rename.c │ ├── rewinddir.c │ ├── rmdir.c │ ├── select.c │ ├── sendrecv.c │ ├── setgid.c │ ├── setgroups.c │ ├── setsid.c │ ├── setuid.c │ ├── shutdown.c │ ├── signals.c │ ├── sleep.c │ ├── socket.c │ ├── socketaddr.c │ ├── socketaddr.h │ ├── socketpair.c │ ├── sockopt.c │ ├── stat.c │ ├── strofaddr.c │ ├── symlink.c │ ├── termios.c │ ├── time.c │ ├── times.c │ ├── truncate.c │ ├── umask.c │ ├── unix.ml │ ├── unix.mli │ ├── unixLabels.ml │ ├── unixLabels.mli │ ├── unixsupport.c │ ├── unixsupport.h │ ├── unlink.c │ ├── utimes.c │ ├── wait.c │ └── write.c ├── win32graph │ ├── Makefile │ ├── Makefile.nt │ ├── draw.c │ ├── events.c │ ├── libgraph.h │ └── open.c └── win32unix │ ├── .depend │ ├── Makefile │ ├── Makefile.nt │ ├── accept.c │ ├── bind.c │ ├── channels.c │ ├── close.c │ ├── close_on.c │ ├── connect.c │ ├── createprocess.c │ ├── dup.c │ ├── dup2.c │ ├── envir.c │ ├── errmsg.c │ ├── getpeername.c │ ├── getpid.c │ ├── getsockname.c │ ├── gettimeofday.c │ ├── isatty.c │ ├── link.c │ ├── listen.c │ ├── lockf.c │ ├── lseek.c │ ├── mkdir.c │ ├── mmap.c │ ├── nonblock.c │ ├── open.c │ ├── pipe.c │ ├── read.c │ ├── readlink.c │ ├── rename.c │ ├── select.c │ ├── sendrecv.c │ ├── shutdown.c │ ├── sleep.c │ ├── socket.c │ ├── socketaddr.h │ ├── sockopt.c │ ├── startup.c │ ├── stat.c │ ├── symlink.c │ ├── system.c │ ├── times.c │ ├── unix.ml │ ├── unixsupport.c │ ├── unixsupport.h │ ├── utimes.c │ ├── windbug.c │ ├── windbug.h │ ├── windir.c │ ├── winlist.c │ ├── winlist.h │ ├── winwait.c │ ├── winworker.c │ ├── winworker.h │ └── write.c ├── parsing ├── HACKING.adoc ├── ast_helper.ml ├── ast_helper.mli ├── ast_invariants.ml ├── ast_invariants.mli ├── ast_iterator.ml ├── ast_iterator.mli ├── ast_mapper.ml ├── ast_mapper.mli ├── asttypes.mli ├── attr_helper.ml ├── attr_helper.mli ├── builtin_attributes.ml ├── builtin_attributes.mli ├── depend.ml ├── depend.mli ├── docstrings.ml ├── docstrings.mli ├── lexer.mli ├── lexer.mll ├── location.ml ├── location.mli ├── longident.ml ├── longident.mli ├── parse.ml ├── parse.mli ├── parser.mly ├── parsetree.mli ├── pprintast.ml ├── pprintast.mli ├── printast.ml ├── printast.mli ├── syntaxerr.ml └── syntaxerr.mli ├── stdlib ├── .depend ├── Compflags ├── Makefile ├── Makefile.nt ├── StdlibModules ├── arg.ml ├── arg.mli ├── array.ml ├── array.mli ├── arrayLabels.ml ├── arrayLabels.mli ├── buffer.ml ├── buffer.mli ├── bytes.ml ├── bytes.mli ├── bytesLabels.ml ├── bytesLabels.mli ├── callback.ml ├── callback.mli ├── camlinternalBigarray.ml ├── camlinternalFormat.ml ├── camlinternalFormat.mli ├── camlinternalFormatBasics.ml ├── camlinternalFormatBasics.mli ├── camlinternalLazy.ml ├── camlinternalLazy.mli ├── camlinternalMod.ml ├── camlinternalMod.mli ├── camlinternalOO.ml ├── camlinternalOO.mli ├── char.ml ├── char.mli ├── complex.ml ├── complex.mli ├── digest.ml ├── digest.mli ├── ephemeron.ml ├── ephemeron.mli ├── expand_module_aliases.awk ├── filename.ml ├── filename.mli ├── float.ml ├── float.mli ├── format.ml ├── format.mli ├── gc.ml ├── gc.mli ├── genlex.ml ├── genlex.mli ├── hashbang ├── hashtbl.ml ├── hashtbl.mli ├── header.c ├── headernt.c ├── int32.ml ├── int32.mli ├── int64.ml ├── int64.mli ├── lazy.ml ├── lazy.mli ├── lexing.ml ├── lexing.mli ├── list.ml ├── list.mli ├── listLabels.ml ├── listLabels.mli ├── map.ml ├── map.mli ├── marshal.ml ├── marshal.mli ├── moreLabels.ml ├── moreLabels.mli ├── nativeint.ml ├── nativeint.mli ├── obj.ml ├── obj.mli ├── oo.ml ├── oo.mli ├── parsing.ml ├── parsing.mli ├── printexc.ml ├── printexc.mli ├── printf.ml ├── printf.mli ├── queue.ml ├── queue.mli ├── random.ml ├── random.mli ├── remove_module_aliases.awk ├── scanf.ml ├── scanf.mli ├── seq.ml ├── seq.mli ├── set.ml ├── set.mli ├── sort.ml ├── sort.mli ├── spacetime.ml ├── spacetime.mli ├── stack.ml ├── stack.mli ├── stdLabels.ml ├── stdLabels.mli ├── std_exit.ml ├── stdlib.ml ├── stdlib.mli ├── stream.ml ├── stream.mli ├── string.ml ├── string.mli ├── stringLabels.ml ├── stringLabels.mli ├── sys.mli ├── sys.mlp ├── uchar.ml ├── uchar.mli ├── weak.ml └── weak.mli ├── test ├── test.ml ├── test8.wat ├── test9.wat ├── testsuite ├── HACKING.adoc ├── Makefile ├── interactive │ ├── lib-gc │ │ ├── Makefile │ │ └── alloc.ml │ ├── lib-graph-2 │ │ ├── Makefile │ │ ├── graph_test.ml │ │ └── graph_test.reference │ ├── lib-graph-3 │ │ ├── Makefile │ │ ├── sorts.ml │ │ └── sorts.reference │ ├── lib-graph │ │ ├── Makefile │ │ ├── graph_example.ml │ │ └── graph_example.reference │ └── lib-signals │ │ ├── Makefile │ │ └── signals.ml ├── lib │ ├── Makefile │ ├── testing.ml │ └── testing.mli ├── makefiles │ ├── Makefile.common │ ├── Makefile.dlambda │ ├── Makefile.dparsetree │ ├── Makefile.expect │ ├── Makefile.okbad │ ├── Makefile.one │ ├── Makefile.several │ ├── Makefile.toplevel │ └── summarize.awk ├── tests │ ├── afl-instrumentation │ │ ├── afl-showmap-available │ │ ├── afltest.ml │ │ ├── afltest.run │ │ ├── harness.ml │ │ ├── ocamltests │ │ └── test.ml │ ├── array-functions │ │ ├── ocamltests │ │ ├── test.ml │ │ └── test.reference │ ├── asmcomp │ │ ├── bind_tuples.ml │ │ ├── is_in_static_data.c │ │ ├── is_static.ml │ │ ├── is_static_flambda.ml │ │ ├── is_static_flambda_dep.ml │ │ ├── ocamltests │ │ ├── optargs.ml │ │ ├── register_typing.ml │ │ ├── register_typing_switch.ml │ │ ├── simple_float_const.ml │ │ ├── simple_float_const_opaque.ml │ │ ├── static_float_array_flambda.ml │ │ ├── static_float_array_flambda_opaque.ml │ │ ├── staticalloc.ml │ │ ├── unrolling_flambda.ml │ │ └── unrolling_flambda2.ml │ ├── asmgen │ │ ├── Makefile │ │ ├── amd64.S │ │ ├── arith.cmm │ │ ├── arm.S │ │ ├── arm64.S │ │ ├── catch-rec.cmm │ │ ├── catch-try.cmm │ │ ├── checkbound.cmm │ │ ├── even-odd-spill.cmm │ │ ├── even-odd.cmm │ │ ├── fib.cmm │ │ ├── i386.S │ │ ├── i386nt.asm │ │ ├── integr.cmm │ │ ├── lexcmm.mli │ │ ├── lexcmm.mll │ │ ├── main.c │ │ ├── main.ml │ │ ├── mainarith.c │ │ ├── parsecmm.mly │ │ ├── parsecmmaux.ml │ │ ├── parsecmmaux.mli │ │ ├── pgcd.cmm │ │ ├── power.S │ │ ├── quicksort.cmm │ │ ├── quicksort2.cmm │ │ ├── s390x.S │ │ ├── soli.cmm │ │ ├── tagged-fib.cmm │ │ ├── tagged-integr.cmm │ │ ├── tagged-quicksort.cmm │ │ ├── tagged-tak.cmm │ │ └── tak.cmm │ ├── ast-invariants │ │ ├── ocamltests │ │ ├── test.ml │ │ └── test.reference │ ├── backtrace │ │ ├── backtrace.byte.reference │ │ ├── backtrace.ml │ │ ├── backtrace.opt.reference │ │ ├── backtrace.run │ │ ├── backtrace2.byte.reference │ │ ├── backtrace2.ml │ │ ├── backtrace2.opt.reference │ │ ├── backtrace3.byte.reference │ │ ├── backtrace3.ml │ │ ├── backtrace3.opt.reference │ │ ├── backtrace_deprecated.byte.reference │ │ ├── backtrace_deprecated.ml │ │ ├── backtrace_deprecated.opt.reference │ │ ├── backtrace_slots.byte.reference │ │ ├── backtrace_slots.ml │ │ ├── backtrace_slots.opt.reference │ │ ├── backtraces_and_finalizers.ml │ │ ├── backtraces_and_finalizers.reference │ │ ├── filter-locations │ │ ├── inline_test.byte.reference │ │ ├── inline_test.ml │ │ ├── inline_test.opt.reference │ │ ├── inline_test.run │ │ ├── inline_traversal_test.byte.reference │ │ ├── inline_traversal_test.ml │ │ ├── inline_traversal_test.opt.reference │ │ ├── inline_traversal_test.run │ │ ├── ocamltests │ │ ├── pr6920_why_at.byte.reference │ │ ├── pr6920_why_at.ml │ │ ├── pr6920_why_at.opt.reference │ │ ├── pr6920_why_swallow.byte.reference │ │ ├── pr6920_why_swallow.ml │ │ ├── pr6920_why_swallow.opt.reference │ │ ├── raw_backtrace.byte.reference │ │ ├── raw_backtrace.ml │ │ └── raw_backtrace.opt.reference │ ├── basic-float │ │ ├── float_compare.ml │ │ ├── float_compare.reference │ │ ├── ocamltests │ │ ├── tfloat_hex.ml │ │ ├── tfloat_hex.reference │ │ ├── tfloat_record.ml │ │ ├── tfloat_record.reference │ │ ├── zero_sized_float_arrays.ml │ │ └── zero_sized_float_arrays.reference │ ├── basic-io-2 │ │ ├── io.ml │ │ ├── io.reference │ │ ├── ocamltests │ │ └── test-file-short-lines │ ├── basic-io │ │ ├── ocamltests │ │ ├── wc.ml │ │ └── wc.reference │ ├── basic-manyargs │ │ ├── manyargs.ml │ │ ├── manyargs.reference │ │ ├── manyargsprim.c │ │ └── ocamltests │ ├── basic-modules │ │ ├── main.ml │ │ ├── main.mli │ │ ├── main.reference │ │ ├── ocamltests │ │ ├── offset.ml │ │ ├── pr6726.ml │ │ └── pr7427.ml │ ├── basic-more │ │ ├── bounds.ml │ │ ├── bounds.reference │ │ ├── div_by_zero.ml │ │ ├── div_by_zero.reference │ │ ├── function_in_ref.ml │ │ ├── function_in_ref.reference │ │ ├── if_in_if.ml │ │ ├── if_in_if.reference │ │ ├── morematch.compilers.reference │ │ ├── morematch.ml │ │ ├── morematch.reference │ │ ├── ocamltests │ │ ├── opaque_prim.ml │ │ ├── opaque_prim.reference │ │ ├── pr1271.ml │ │ ├── pr1271.reference │ │ ├── pr2719.ml │ │ ├── pr2719.reference │ │ ├── pr6216.ml │ │ ├── pr6216.reference │ │ ├── record_evaluation_order.ml │ │ ├── record_evaluation_order.reference │ │ ├── robustmatch.compilers.reference │ │ ├── robustmatch.ml │ │ ├── robustmatch.reference │ │ ├── sequential_and_or.ml │ │ ├── sequential_and_or.reference │ │ ├── structural_constants.ml │ │ ├── structural_constants.reference │ │ ├── tbuffer.ml │ │ ├── tbuffer.reference │ │ ├── testrandom.ml │ │ ├── testrandom.reference │ │ ├── top_level_patterns.ml │ │ ├── top_level_patterns.reference │ │ ├── tprintf.ml │ │ └── tprintf.reference │ ├── basic-multdef │ │ ├── multdef.ml │ │ ├── multdef.mli │ │ ├── ocamltests │ │ ├── usemultdef.ml │ │ └── usemultdef.reference │ ├── basic-private │ │ ├── length.ml │ │ ├── length.mli │ │ ├── ocamltests │ │ ├── tlength.ml │ │ └── tlength.reference │ ├── basic │ │ ├── arrays.ml │ │ ├── arrays.reference │ │ ├── bigints.ml │ │ ├── bigints.reference │ │ ├── boxedints.ml │ │ ├── boxedints.reference │ │ ├── constprop.ml │ │ ├── constprop.reference │ │ ├── divint.ml │ │ ├── divint.reference │ │ ├── equality.ml │ │ ├── equality.reference │ │ ├── eval_order_1.ml │ │ ├── eval_order_1.reference │ │ ├── eval_order_2.ml │ │ ├── eval_order_2.reference │ │ ├── eval_order_3.ml │ │ ├── eval_order_3.reference │ │ ├── eval_order_4.ml │ │ ├── eval_order_4.reference │ │ ├── eval_order_6.ml │ │ ├── eval_order_6.reference │ │ ├── float.ml │ │ ├── float.reference │ │ ├── float_physical_equality.ml │ │ ├── float_physical_equality.reference │ │ ├── includestruct.ml │ │ ├── includestruct.reference │ │ ├── localexn.ml │ │ ├── localexn.reference │ │ ├── maps.ml │ │ ├── maps.reference │ │ ├── min_int.ml │ │ ├── min_int.reference │ │ ├── ocamltests │ │ ├── opt_variants.ml │ │ ├── opt_variants.reference │ │ ├── patmatch.ml │ │ ├── patmatch.reference │ │ ├── pr7533.ml │ │ ├── pr7533.reference │ │ ├── pr7657.ml │ │ ├── pr7657.reference │ │ ├── recvalues.ml │ │ ├── recvalues.reference │ │ ├── sets.ml │ │ ├── sets.reference │ │ ├── stringmatch.ml │ │ ├── stringmatch.reference │ │ ├── switch_opts.ml │ │ ├── switch_opts.reference │ │ ├── tailcalls.ml │ │ ├── tailcalls.reference │ │ ├── trigraph.ml │ │ ├── trigraph.reference │ │ ├── zero_divided_by_n.ml │ │ └── zero_divided_by_n.reference │ ├── callback │ │ ├── callbackprim.c │ │ ├── ocamltests │ │ ├── tcallback.ml │ │ └── tcallback.reference │ ├── docstrings │ │ ├── empty.compilers.reference │ │ ├── empty.ml │ │ └── ocamltests │ ├── embedded │ │ ├── cmcaml.ml │ │ ├── cmcaml.reference │ │ ├── cmmain.c │ │ ├── cmstub.c │ │ └── ocamltests │ ├── exotic-syntax │ │ ├── exotic.ml │ │ ├── exotic.reference │ │ └── ocamltests │ ├── extension-constructor │ │ ├── ocamltests │ │ ├── test.ml │ │ └── test.reference │ ├── flambda │ │ ├── gpr998.ml │ │ ├── gpr998.reference │ │ └── ocamltests │ ├── float-unboxing │ │ ├── float_subst_boxed_number.ml │ │ └── ocamltests │ ├── formats-transition │ │ ├── deprecated_unsigned_printers.ml │ │ ├── deprecated_unsigned_printers.ocaml.reference │ │ ├── ignored_scan_counters.ml │ │ ├── ignored_scan_counters.ocaml.reference │ │ ├── legacy_incompatible_flags.ml │ │ ├── legacy_incompatible_flags.ocaml.reference │ │ ├── legacy_unfinished_modifiers.ml │ │ ├── legacy_unfinished_modifiers.ocaml.reference │ │ └── ocamltests │ ├── formatting │ │ ├── margins.ml │ │ ├── margins.ocaml.reference │ │ └── ocamltests │ ├── functors │ │ ├── functors.compilers.reference │ │ ├── functors.ml │ │ └── ocamltests │ ├── gc-roots │ │ ├── globroots.ml │ │ ├── globroots.reference │ │ ├── globrootsprim.c │ │ └── ocamltests │ ├── int64-unboxing │ │ ├── ocamltests │ │ ├── stubs.c │ │ ├── test.ml │ │ └── test.reference │ ├── lazy │ │ ├── lazy1.ml │ │ ├── lazy1.reference │ │ └── ocamltests │ ├── letrec-disallowed │ │ ├── disallowed.ml │ │ ├── disallowed.ocaml.reference │ │ ├── extension_constructor.ml │ │ ├── extension_constructor.ocaml.reference │ │ ├── float_block_allowed.ml │ │ ├── float_block_allowed.ocaml.reference │ │ ├── float_block_disallowed.ml │ │ ├── float_block_disallowed.ocaml.reference │ │ ├── generic_arrays.ml │ │ ├── generic_arrays.ocaml.reference │ │ ├── lazy_.ml │ │ ├── lazy_.ocaml.reference │ │ ├── module_constraints.ml │ │ ├── module_constraints.ocaml.reference │ │ ├── ocamltests │ │ ├── pr7215.ml │ │ ├── pr7215.ocaml.reference │ │ ├── pr7231.ml │ │ ├── pr7231.ocaml.reference │ │ ├── unboxed.ml │ │ └── unboxed.ocaml.reference │ ├── letrec │ │ ├── allowed.ml │ │ ├── allowed.reference │ │ ├── backreferences.ml │ │ ├── backreferences.reference │ │ ├── class_1.ml │ │ ├── class_1.reference │ │ ├── class_2.ml │ │ ├── class_2.reference │ │ ├── evaluation_order_1.ml │ │ ├── evaluation_order_1.reference │ │ ├── evaluation_order_2.ml │ │ ├── evaluation_order_2.reference │ │ ├── evaluation_order_3.ml │ │ ├── evaluation_order_3.reference │ │ ├── float_block_1.ml │ │ ├── float_block_1.reference │ │ ├── generic_array.ml │ │ ├── generic_array.reference │ │ ├── lazy_.ml │ │ ├── lazy_.reference │ │ ├── lists.ml │ │ ├── lists.reference │ │ ├── mixing_value_closures_1.ml │ │ ├── mixing_value_closures_1.reference │ │ ├── mixing_value_closures_2.ml │ │ ├── mixing_value_closures_2.reference │ │ ├── mutual_functions.ml │ │ ├── mutual_functions.reference │ │ ├── nested.ml │ │ ├── nested.reference │ │ ├── ocamltests │ │ ├── pr4989.ml │ │ ├── pr4989.reference │ │ ├── record_with.ml │ │ ├── record_with.reference │ │ ├── ref.ml │ │ └── ref.reference │ ├── lexing │ │ ├── ocamltests │ │ ├── uchar_esc.ml │ │ └── uchar_esc.ocaml.reference │ ├── lib-arg │ │ ├── ocamltests │ │ ├── testarg.ml │ │ ├── testarg.reference │ │ ├── testerror.ml │ │ └── testerror.reference │ ├── lib-bigarray-2 │ │ ├── Makefile │ │ ├── bigarrf.f │ │ ├── bigarrfml.ml │ │ ├── bigarrfml.reference │ │ └── bigarrfstub.c │ ├── lib-bigarray-file │ │ ├── mapfile.ml │ │ ├── mapfile.reference │ │ └── ocamltests │ ├── lib-bigarray │ │ ├── bigarrays.ml │ │ ├── bigarrays.reference │ │ ├── change_layout.ml │ │ ├── change_layout.reference │ │ ├── fftba.ml │ │ ├── fftba.reference │ │ ├── ocamltests │ │ ├── pr5115.ml │ │ ├── pr5115.reference │ │ ├── weak_bigarray.ml │ │ └── weak_bigarray.reference │ ├── lib-buffer │ │ ├── ocamltests │ │ ├── test.ml │ │ └── test.reference │ ├── lib-bytes │ │ ├── ocamltests │ │ ├── test_bytes.ml │ │ └── test_bytes.reference │ ├── lib-digest │ │ ├── md5.ml │ │ ├── md5.reference │ │ └── ocamltests │ ├── lib-dynlink-bytecode │ │ ├── Makefile │ │ ├── custom.reference │ │ ├── main.ml │ │ ├── main.reference │ │ ├── plug1.ml │ │ ├── plug2.ml │ │ ├── registry.ml │ │ ├── static.reference │ │ ├── stub1.c │ │ └── stub2.c │ ├── lib-dynlink-csharp │ │ ├── Makefile │ │ ├── bytecode.reference │ │ ├── entry.c │ │ ├── main.cs │ │ ├── main.ml │ │ ├── native.reference │ │ └── plugin.ml │ ├── lib-dynlink-native │ │ ├── Makefile │ │ ├── a.ml │ │ ├── api.ml │ │ ├── b.ml │ │ ├── bug.ml │ │ ├── c.ml │ │ ├── factorial.c │ │ ├── main.ml │ │ ├── pack_client.ml │ │ ├── packed1.ml │ │ ├── packed1_client.ml │ │ ├── plugin.ml │ │ ├── plugin.mli │ │ ├── plugin2.ml │ │ ├── plugin4.ml │ │ ├── plugin_ext.ml │ │ ├── plugin_high_arity.ml │ │ ├── plugin_ref.ml │ │ ├── plugin_simple.ml │ │ ├── plugin_thread.ml │ │ ├── reference │ │ └── sub │ │ │ ├── api.ml │ │ │ ├── api.mli │ │ │ ├── plugin.ml │ │ │ └── plugin3.ml │ ├── lib-filename │ │ ├── extension.ml │ │ ├── extension.reference │ │ └── ocamltests │ ├── lib-format │ │ ├── ocamltests │ │ ├── pr6824.ml │ │ ├── pr6824.reference │ │ ├── tformat.ml │ │ └── tformat.reference │ ├── lib-hashtbl │ │ ├── hfun.ml │ │ ├── hfun.reference │ │ ├── htbl.ml │ │ ├── htbl.reference │ │ └── ocamltests │ ├── lib-list │ │ ├── ocamltests │ │ ├── test.ml │ │ └── test.reference │ ├── lib-marshal │ │ ├── intext.ml │ │ ├── intext.reference │ │ ├── intextaux.c │ │ └── ocamltests │ ├── lib-obj │ │ ├── ocamltests │ │ ├── reachable_words.ml │ │ └── reachable_words.reference │ ├── lib-printf │ │ ├── ocamltests │ │ ├── pr6534.ml │ │ ├── pr6534.reference │ │ ├── pr6938.ml │ │ ├── pr6938.reference │ │ ├── tprintf.ml │ │ └── tprintf.reference │ ├── lib-queue │ │ ├── ocamltests │ │ ├── test.ml │ │ └── test.reference │ ├── lib-random │ │ ├── ocamltests │ │ ├── rand.ml │ │ └── rand.reference │ ├── lib-scanf-2 │ │ ├── ocamltests │ │ ├── reference │ │ ├── tscanf2_io.ml │ │ ├── tscanf2_master.ml │ │ └── tscanf2_slave.ml │ ├── lib-scanf │ │ ├── ocamltests │ │ ├── tscanf.ml │ │ └── tscanf.reference │ ├── lib-seq │ │ ├── ocamltests │ │ ├── test.ml │ │ └── test.reference │ ├── lib-set │ │ ├── ocamltests │ │ ├── testmap.ml │ │ ├── testmap.reference │ │ ├── testset.ml │ │ └── testset.reference │ ├── lib-stack │ │ ├── ocamltests │ │ ├── test.ml │ │ └── test.reference │ ├── lib-stdlabels │ │ ├── ocamltests │ │ ├── test_stdlabels.ml │ │ └── test_stdlabels.reference │ ├── lib-str │ │ ├── ocamltests │ │ ├── t01.ml │ │ └── t01.reference │ ├── lib-stream │ │ ├── count_concat_bug.ml │ │ ├── count_concat_bug.reference │ │ └── ocamltests │ ├── lib-string │ │ ├── ocamltests │ │ ├── test_string.ml │ │ └── test_string.reference │ ├── lib-sys │ │ ├── ocamltests │ │ ├── rename.ml │ │ └── rename.reference │ ├── lib-systhreads │ │ ├── ocamltests │ │ ├── testfork.ml │ │ ├── testfork.reference │ │ ├── testpreempt.ml │ │ └── testpreempt.reference │ ├── lib-threads │ │ ├── backtrace_threads.ml │ │ ├── bank.ml │ │ ├── bank.reference │ │ ├── beat.ml │ │ ├── beat.reference │ │ ├── bufchan.ml │ │ ├── bufchan.reference │ │ ├── close.ml │ │ ├── close.reference │ │ ├── fileio.ml │ │ ├── fileio.reference │ │ ├── ocamltests │ │ ├── pr4466.ml │ │ ├── pr4466.reference │ │ ├── pr5325.ml │ │ ├── pr5325.reference │ │ ├── pr7638.ml │ │ ├── pr7638.reference │ │ ├── prodcons.ml │ │ ├── prodcons.reference │ │ ├── prodcons2.ml │ │ ├── prodcons2.reference │ │ ├── sieve.ml │ │ ├── sieve.reference │ │ ├── sigint.c │ │ ├── signal.check-program-output │ │ ├── signal.ml │ │ ├── signal.run │ │ ├── sockets.ml │ │ ├── sockets.reference │ │ ├── swapchan.ml │ │ ├── swapchan.reference │ │ ├── swapchan.run │ │ ├── tls.ml │ │ ├── tls.reference │ │ ├── tls.run │ │ ├── torture.ml │ │ └── torture.reference │ ├── lib-uchar │ │ ├── ocamltests │ │ ├── test.ml │ │ └── test.reference │ ├── lib-unix │ │ ├── common │ │ │ ├── cloexec.ml │ │ │ ├── cloexec.reference │ │ │ ├── cmdline_prog.ml │ │ │ ├── dup.ml │ │ │ ├── dup.reference │ │ │ ├── dup2.ml │ │ │ ├── dup2.reference │ │ │ ├── fdstatus_aux.c │ │ │ ├── fdstatus_main.ml │ │ │ ├── ocamltests │ │ │ ├── pipe_eof.ml │ │ │ ├── pipe_eof.reference │ │ │ ├── redirections.ml │ │ │ ├── redirections.reference │ │ │ ├── reflector.ml │ │ │ ├── rename.ml │ │ │ ├── rename.reference │ │ │ ├── test_unix_cmdline.ml │ │ │ ├── test_unix_cmdline.reference │ │ │ ├── utimes.ml │ │ │ ├── utimes.reference │ │ │ ├── utimes.txt │ │ │ ├── wait_nohang.ml │ │ │ └── wait_nohang.reference │ │ ├── isatty │ │ │ ├── isatty_std.ml │ │ │ ├── isatty_std.reference │ │ │ ├── isatty_tty.ml │ │ │ ├── isatty_tty.reference │ │ │ └── ocamltests │ │ ├── unix-execvpe │ │ │ ├── exec.ml │ │ │ ├── exec.reference │ │ │ ├── exec.run │ │ │ ├── has-execvpe │ │ │ ├── ocamltests │ │ │ ├── script3 │ │ │ └── subdir │ │ │ │ ├── nonexec │ │ │ │ ├── script1 │ │ │ │ └── script2 │ │ ├── win-env │ │ │ ├── ocamltests │ │ │ ├── stubs.c │ │ │ ├── test_env.ml │ │ │ └── test_env.reference │ │ ├── win-stat │ │ │ ├── fakeclock.c │ │ │ ├── ocamltests │ │ │ ├── test.ml │ │ │ ├── test.reference │ │ │ └── test.run │ │ └── win-symlink │ │ │ ├── test.ml │ │ │ └── test.reference │ ├── link-test │ │ ├── aliases.ml │ │ ├── external.ml │ │ ├── external.mli │ │ ├── external_for_pack.ml │ │ ├── external_for_pack.mli │ │ ├── ocamltests │ │ ├── submodule.ml │ │ ├── test.ml │ │ ├── test.reference │ │ └── use_in_pack.ml │ ├── manual-intf-c │ │ ├── curses.ml │ │ ├── curses_stubs.c │ │ ├── ocamltests │ │ ├── prog.ml │ │ └── prog2.reference │ ├── match-exception-warnings │ │ ├── exhaustiveness_warnings.ml │ │ ├── exhaustiveness_warnings.ml.reference │ │ ├── exhaustiveness_warnings.ocaml.reference │ │ └── ocamltests │ ├── match-exception │ │ ├── allocation.ml │ │ ├── allocation.reference │ │ ├── exception_propagation.ml │ │ ├── exception_propagation.reference │ │ ├── match_failure.ml │ │ ├── match_failure.reference │ │ ├── nested_handlers.ml │ │ ├── nested_handlers.reference │ │ ├── ocamltests │ │ ├── raise_from_success_continuation.ml │ │ ├── raise_from_success_continuation.reference │ │ ├── streams.ml │ │ ├── streams.reference │ │ ├── tail_calls.ml │ │ └── tail_calls.reference │ ├── messages │ │ ├── ocamltests │ │ └── precise_locations.ml │ ├── misc-kb │ │ ├── equations.ml │ │ ├── equations.mli │ │ ├── kb.ml │ │ ├── kb.mli │ │ ├── kbmain.ml │ │ ├── kbmain.reference │ │ ├── ocamltests │ │ ├── orderings.ml │ │ ├── orderings.mli │ │ ├── terms.ml │ │ └── terms.mli │ ├── misc-unsafe │ │ ├── almabench.ml │ │ ├── almabench.reference │ │ ├── fft.ml │ │ ├── fft.reference │ │ ├── ocamltests │ │ ├── quicksort.ml │ │ ├── quicksort.reference │ │ ├── soli.ml │ │ └── soli.reference │ ├── misc │ │ ├── bdd.ml │ │ ├── bdd.reference │ │ ├── boyer.ml │ │ ├── boyer.reference │ │ ├── ephetest.ml │ │ ├── ephetest.reference │ │ ├── ephetest2.ml │ │ ├── ephetest2.reference │ │ ├── ephetest3.ml │ │ ├── ephetest3.reference │ │ ├── fib.ml │ │ ├── fib.reference │ │ ├── finaliser.ml │ │ ├── finaliser.reference │ │ ├── gcwords.ml │ │ ├── gcwords.reference │ │ ├── gpr1370.ml │ │ ├── gpr1370.reference │ │ ├── hamming.ml │ │ ├── hamming.reference │ │ ├── nucleic.ml │ │ ├── nucleic.reference │ │ ├── ocamltests │ │ ├── pr7168.ml │ │ ├── pr7168.reference │ │ ├── sieve.ml │ │ ├── sieve.reference │ │ ├── sorts.ml │ │ ├── sorts.reference │ │ ├── takc.ml │ │ ├── takc.reference │ │ ├── taku.ml │ │ ├── taku.reference │ │ ├── weaklifetime.ml │ │ ├── weaklifetime.reference │ │ ├── weaklifetime2.ml │ │ ├── weaklifetime2.reference │ │ ├── weaktest.ml │ │ └── weaktest.reference │ ├── no-alias-deps │ │ ├── Makefile │ │ ├── aliases.cmo.reference │ │ ├── aliases.ml │ │ ├── aliases.ml.reference │ │ ├── b.cmi.pre │ │ ├── c.mli │ │ └── d.mli │ ├── opaque │ │ ├── Makefile │ │ ├── fst │ │ │ ├── opaque_impl.ml │ │ │ ├── opaque_intf.ml │ │ │ └── regular.ml │ │ ├── intf │ │ │ ├── opaque_impl.mli │ │ │ ├── opaque_intf.mli │ │ │ └── regular.mli │ │ ├── snd │ │ │ ├── opaque_impl.ml │ │ │ ├── opaque_intf.ml │ │ │ └── regular.ml │ │ └── test.ml │ ├── output_obj │ │ ├── Makefile.disabled │ │ ├── test.ml │ │ └── test.ml_stub.c │ ├── parsetree │ │ ├── ocamltests │ │ ├── source.ml │ │ ├── test.ml │ │ └── test.reference │ ├── parsing │ │ ├── attributes.compilers.reference │ │ ├── attributes.ml │ │ ├── docstrings.compilers.reference │ │ ├── docstrings.ml │ │ ├── extended_indexoperators.compilers.reference │ │ ├── extended_indexoperators.ml │ │ ├── extensions.compilers.reference │ │ ├── extensions.ml │ │ ├── int_and_float_with_modifier.compilers.reference │ │ ├── int_and_float_with_modifier.ml │ │ ├── ocamltests │ │ ├── pr6604.compilers.reference │ │ ├── pr6604.ml │ │ ├── pr6604_2.compilers.reference │ │ ├── pr6604_2.ml │ │ ├── pr6604_3.compilers.reference │ │ ├── pr6604_3.ml │ │ ├── pr6865.compilers.reference │ │ ├── pr6865.ml │ │ ├── pr7165.compilers.reference │ │ ├── pr7165.ml │ │ ├── shortcut_ext_attr.compilers.reference │ │ └── shortcut_ext_attr.ml │ ├── ppx-attributes │ │ ├── ocamltests │ │ ├── warning.ml │ │ └── warning.reference │ ├── ppx-contexts │ │ ├── myppx.ml │ │ ├── ocamltests │ │ ├── test.compilers.reference │ │ └── test.ml │ ├── prim-bigstring │ │ ├── bigstring_access.ml │ │ ├── bigstring_access.reference │ │ ├── ocamltests │ │ ├── string_access.ml │ │ └── string_access.reference │ ├── prim-bswap │ │ ├── bswap.ml │ │ ├── bswap.reference │ │ └── ocamltests │ ├── prim-revapply │ │ ├── apply.ml │ │ ├── apply.reference │ │ ├── ocamltests │ │ ├── revapply.ml │ │ └── revapply.reference │ ├── printing-types │ │ ├── ocamltests │ │ ├── pr248.ml │ │ └── pr248.ocaml.reference │ ├── raise-counts │ │ ├── a.ml │ │ ├── b.ml │ │ ├── main.ml │ │ ├── main.reference │ │ └── ocamltests │ ├── regression │ │ ├── missing_set_of_closures │ │ │ ├── a.ml │ │ │ ├── b.ml │ │ │ ├── b2.ml │ │ │ ├── dir │ │ │ │ └── c.ml │ │ │ ├── missing_set_of_closures.ml │ │ │ └── ocamltests │ │ ├── pr3612 │ │ │ ├── custom_finalize.c │ │ │ ├── ocamltests │ │ │ ├── pr3612.ml │ │ │ └── pr3612.reference │ │ ├── pr5233 │ │ │ ├── ocamltests │ │ │ ├── pr5233.ml │ │ │ └── pr5233.reference │ │ ├── pr5757 │ │ │ ├── ocamltests │ │ │ ├── pr5757.ml │ │ │ └── pr5757.reference │ │ ├── pr6024 │ │ │ ├── ocamltests │ │ │ ├── pr6024.ml │ │ │ └── pr6024.reference │ │ ├── pr7042 │ │ │ ├── ocamltests │ │ │ ├── pr7042.ml │ │ │ └── pr7042.reference │ │ └── pr7426 │ │ │ ├── ocamltests │ │ │ ├── pr7426.ml │ │ │ └── pr7426.reference │ ├── required-external │ │ ├── file.ml │ │ ├── main.ml │ │ ├── main.reference │ │ └── ocamltests │ ├── runtime-C-exceptions │ │ ├── ocamltests │ │ ├── stub_test.c │ │ ├── test.ml │ │ └── test.reference │ ├── runtime-errors │ │ ├── Makefile │ │ ├── stackoverflow.bytecode.checker │ │ ├── stackoverflow.bytecode.reference │ │ ├── stackoverflow.ml │ │ ├── stackoverflow.native.checker │ │ ├── stackoverflow.native.reference │ │ ├── syserror.bytecode.checker │ │ ├── syserror.bytecode.reference │ │ ├── syserror.ml │ │ ├── syserror.native.checker │ │ └── syserror.native.reference │ ├── self-contained-toplevel │ │ ├── Makefile │ │ ├── foo.ml │ │ ├── gen_cached_cmi.ml │ │ ├── input.ml │ │ ├── main.ml │ │ └── main.reference │ ├── tool-command-line │ │ ├── Makefile │ │ ├── unknown-file │ │ ├── unknown-file.byte.reference │ │ └── unknown-file.opt.reference │ ├── tool-debugger │ │ ├── basic │ │ │ ├── debuggee.ml │ │ │ ├── debuggee.reference │ │ │ ├── input_script │ │ │ └── ocamltests │ │ ├── find-artifacts │ │ │ ├── debuggee.ml │ │ │ ├── debuggee.reference │ │ │ ├── in │ │ │ │ ├── blah.ml │ │ │ │ └── foo.ml │ │ │ ├── input_script │ │ │ └── ocamltests │ │ └── no_debug_event │ │ │ ├── a.ml │ │ │ ├── b.ml │ │ │ ├── input_script │ │ │ ├── noev.ml │ │ │ ├── noev.reference │ │ │ └── ocamltests │ ├── tool-lexyacc │ │ ├── gram_aux.ml │ │ ├── grammar.mly │ │ ├── input │ │ ├── lexgen.ml │ │ ├── main.compilers.reference │ │ ├── main.ml │ │ ├── main.reference │ │ ├── ocamltests │ │ ├── output.ml │ │ ├── scan_aux.ml │ │ ├── scanner.mll │ │ └── syntax.ml │ ├── tool-ocaml │ │ ├── Makefile │ │ ├── lib.ml │ │ ├── t000.ml │ │ ├── t010-const0.ml │ │ ├── t010-const1.ml │ │ ├── t010-const2.ml │ │ ├── t010-const3.ml │ │ ├── t011-constint.ml │ │ ├── t020.ml │ │ ├── t021-pushconst1.ml │ │ ├── t021-pushconst2.ml │ │ ├── t021-pushconst3.ml │ │ ├── t022-pushconstint.ml │ │ ├── t040-makeblock1.ml │ │ ├── t040-makeblock2.ml │ │ ├── t040-makeblock3.ml │ │ ├── t041-makeblock.ml │ │ ├── t050-getglobal.ml │ │ ├── t050-pushgetglobal.ml │ │ ├── t051-getglobalfield.ml │ │ ├── t051-pushgetglobalfield.ml │ │ ├── t060-raise.ml │ │ ├── t070-branch.ml │ │ ├── t070-branchif.ml │ │ ├── t070-branchifnot.ml │ │ ├── t071-boolnot.ml │ │ ├── t080-eq.ml │ │ ├── t080-geint.ml │ │ ├── t080-gtint.ml │ │ ├── t080-leint.ml │ │ ├── t080-ltint.ml │ │ ├── t080-neq.ml │ │ ├── t090-acc0.ml │ │ ├── t090-acc1.ml │ │ ├── t090-acc2.ml │ │ ├── t090-acc3.ml │ │ ├── t090-acc4.ml │ │ ├── t090-acc5.ml │ │ ├── t090-acc6.ml │ │ ├── t090-acc7.ml │ │ ├── t091-acc.ml │ │ ├── t092-pushacc.ml │ │ ├── t092-pushacc0.ml │ │ ├── t092-pushacc1.ml │ │ ├── t092-pushacc2.ml │ │ ├── t092-pushacc3.ml │ │ ├── t092-pushacc4.ml │ │ ├── t092-pushacc5.ml │ │ ├── t092-pushacc6.ml │ │ ├── t092-pushacc7.ml │ │ ├── t093-pushacc.ml │ │ ├── t100-pushtrap.ml │ │ ├── t101-poptrap.ml │ │ ├── t110-addint.ml │ │ ├── t110-andint.ml │ │ ├── t110-asrint-1.ml │ │ ├── t110-asrint-2.ml │ │ ├── t110-divint-1.ml │ │ ├── t110-divint-2.ml │ │ ├── t110-divint-3.ml │ │ ├── t110-lslint.ml │ │ ├── t110-lsrint.ml │ │ ├── t110-modint-1.ml │ │ ├── t110-modint-2.ml │ │ ├── t110-mulint.ml │ │ ├── t110-negint.ml │ │ ├── t110-offsetint.ml │ │ ├── t110-orint.ml │ │ ├── t110-subint.ml │ │ ├── t110-xorint.ml │ │ ├── t120-getstringchar.ml │ │ ├── t121-setstringchar.ml │ │ ├── t130-getvectitem.ml │ │ ├── t130-vectlength.ml │ │ ├── t131-setvectitem.ml │ │ ├── t140-switch-1.ml │ │ ├── t140-switch-2.ml │ │ ├── t140-switch-3.ml │ │ ├── t140-switch-4.ml │ │ ├── t141-switch-5.ml │ │ ├── t141-switch-6.ml │ │ ├── t141-switch-7.ml │ │ ├── t142-switch-8.ml │ │ ├── t142-switch-9.ml │ │ ├── t142-switch-A.ml │ │ ├── t150-push-1.ml │ │ ├── t150-push-2.ml │ │ ├── t160-closure.ml │ │ ├── t161-apply1.ml │ │ ├── t162-return.ml │ │ ├── t163.ml │ │ ├── t164-apply2.ml │ │ ├── t164-apply3.ml │ │ ├── t165-apply.ml │ │ ├── t170-envacc2.ml │ │ ├── t170-envacc3.ml │ │ ├── t170-envacc4.ml │ │ ├── t171-envacc.ml │ │ ├── t172-pushenvacc1.ml │ │ ├── t172-pushenvacc2.ml │ │ ├── t172-pushenvacc3.ml │ │ ├── t172-pushenvacc4.ml │ │ ├── t173-pushenvacc.ml │ │ ├── t180-appterm1.ml │ │ ├── t180-appterm2.ml │ │ ├── t180-appterm3.ml │ │ ├── t181-appterm.ml │ │ ├── t190-makefloatblock-1.ml │ │ ├── t190-makefloatblock-2.ml │ │ ├── t190-makefloatblock-3.ml │ │ ├── t191-vectlength.ml │ │ ├── t192-getfloatfield-1.ml │ │ ├── t192-getfloatfield-2.ml │ │ ├── t193-setfloatfield-1.ml │ │ ├── t193-setfloatfield-2.ml │ │ ├── t200-getfield0.ml │ │ ├── t200-getfield1.ml │ │ ├── t200-getfield2.ml │ │ ├── t200-getfield3.ml │ │ ├── t201-getfield.ml │ │ ├── t210-setfield0.ml │ │ ├── t210-setfield1.ml │ │ ├── t210-setfield2.ml │ │ ├── t210-setfield3.ml │ │ ├── t211-setfield.ml │ │ ├── t220-assign.ml │ │ ├── t230-check_signals.ml │ │ ├── t240-c_call1.ml │ │ ├── t240-c_call2.ml │ │ ├── t240-c_call3.ml │ │ ├── t240-c_call4.ml │ │ ├── t240-c_call5.ml │ │ ├── t250-closurerec-1.ml │ │ ├── t250-closurerec-2.ml │ │ ├── t251-pushoffsetclosure0.ml │ │ ├── t251-pushoffsetclosure2.ml │ │ ├── t251-pushoffsetclosurem2.ml │ │ ├── t252-pushoffsetclosure.ml │ │ ├── t253-offsetclosure0.ml │ │ ├── t253-offsetclosure2.ml │ │ ├── t253-offsetclosurem2.ml │ │ ├── t254-offsetclosure.ml │ │ ├── t260-offsetref.ml │ │ ├── t270-push_retaddr.ml │ │ ├── t300-getmethod.ml │ │ ├── t301-object.ml │ │ ├── t310-alloc-1.ml │ │ ├── t310-alloc-2.ml │ │ ├── t320-gc-1.ml │ │ ├── t320-gc-2.ml │ │ ├── t320-gc-3.ml │ │ ├── t330-compact-1.ml │ │ ├── t330-compact-2.ml │ │ ├── t330-compact-3.ml │ │ ├── t330-compact-4.ml │ │ ├── t340-weak.ml │ │ ├── t350-heapcheck.ml │ │ ├── t360-stacks-1.ml │ │ └── t360-stacks-2.ml │ ├── tool-ocamlc-compat32 │ │ ├── compat32.compilers.reference │ │ ├── compat32.ml │ │ └── ocamltests │ ├── tool-ocamlc-open │ │ ├── a.ml │ │ ├── b.ml │ │ ├── ocamltests │ │ └── tool-ocamlc-open.ml │ ├── tool-ocamldep-modalias │ │ ├── A.ml │ │ ├── B.ml │ │ ├── C.ml │ │ ├── D.ml │ │ ├── Makefile │ │ ├── Makefile.build │ │ ├── Makefile.build2 │ │ ├── depend.mk.reference │ │ ├── depend.mk2.reference │ │ ├── depend.mod.reference │ │ ├── depend.mod2.reference │ │ ├── depend.mod3.reference │ │ ├── lib.mli │ │ ├── lib_impl.ml │ │ └── main.ml │ ├── tool-ocamldoc-open │ │ ├── Readme │ │ ├── alias.ml │ │ ├── inner.ml │ │ ├── main.latex.reference │ │ ├── main.ml │ │ ├── main.ocamldoc.latex.reference │ │ └── ocamltests │ ├── tool-ocamldoc │ │ ├── Documentation_tags.html.reference │ │ ├── Documentation_tags.mli │ │ ├── Extensible_variant.latex.reference │ │ ├── Extensible_variant.ml │ │ ├── Extensible_variant.ocamldoc.latex.reference │ │ ├── Inline_records.html.reference │ │ ├── Inline_records.latex.reference │ │ ├── Inline_records.man.reference │ │ ├── Inline_records.mli │ │ ├── Inline_records_bis.latex.reference │ │ ├── Inline_records_bis.ml │ │ ├── Item_ids.html.reference │ │ ├── Item_ids.mli │ │ ├── Level_0.latex.reference │ │ ├── Level_0.mli │ │ ├── Linebreaks.html.reference │ │ ├── Linebreaks.mli │ │ ├── Loop.html.reference │ │ ├── Loop.latex.reference │ │ ├── Loop.ml │ │ ├── Module_whitespace.html.reference │ │ ├── Module_whitespace.ml │ │ ├── Module_whitespace.ocamldoc.html.reference │ │ ├── No_preamble.html.reference │ │ ├── No_preamble.mli │ │ ├── Paragraph.html.reference │ │ ├── Paragraph.mli │ │ ├── Short_description.latex.reference │ │ ├── Short_description.txt │ │ ├── Test.latex.reference │ │ ├── Test.mli │ │ ├── Variants.html.reference │ │ ├── Variants.latex.reference │ │ ├── Variants.mli │ │ ├── ocamltests │ │ ├── odoc_test.ml │ │ ├── t01.ml │ │ ├── t01.reference │ │ ├── t02.ml │ │ ├── t02.reference │ │ ├── t03.ml │ │ ├── t03.ocamldoc.reference │ │ ├── t03.reference │ │ ├── t04.ml │ │ ├── t04.reference │ │ ├── t05.ml │ │ ├── t05.reference │ │ └── type_Linebreaks.reference │ ├── tool-ocamlobjinfo │ │ ├── Makefile │ │ ├── question.ml │ │ └── test.reference │ ├── tool-toplevel-invocation │ │ ├── first_arg_fail.txt │ │ ├── first_arg_fail.txt.reference │ │ ├── indirect_first_arg_fail.txt │ │ ├── indirect_first_arg_fail.txt.reference │ │ ├── indirect_last_arg_fail.txt │ │ ├── indirect_last_arg_fail.txt.reference │ │ ├── last_arg_fail.txt │ │ ├── last_arg_fail.txt.reference │ │ ├── ocamltests │ │ ├── test.ml │ │ ├── working_arg.txt │ │ └── working_arg.txt.reference │ ├── tool-toplevel │ │ ├── exotic_lists.compilers.reference │ │ ├── exotic_lists.ml │ │ ├── ocamltests │ │ ├── pr7060.compilers.reference │ │ ├── pr7060.ml │ │ ├── pr7751.compilers.reference │ │ ├── pr7751.ml │ │ ├── strings.compilers.reference │ │ ├── strings.ml │ │ ├── tracing.compilers.reference │ │ └── tracing.ml │ ├── translprim │ │ ├── array_spec.compilers.reference.flat │ │ ├── array_spec.compilers.reference.no-flat │ │ ├── array_spec.ml │ │ ├── comparison_table.compilers.reference │ │ ├── comparison_table.ml │ │ ├── module_coercion.compilers.reference.flat │ │ ├── module_coercion.compilers.reference.no-flat │ │ ├── module_coercion.ml │ │ ├── ocamltests │ │ ├── ref_spec.compilers.reference │ │ └── ref_spec.ml │ ├── typing-core-bugs │ │ ├── example_let_missing_rec.ml │ │ ├── example_let_missing_rec_loc.ml │ │ ├── example_let_missing_rec_mutual.ml │ │ ├── ocamltests │ │ ├── type_expected_explanation.ml │ │ └── unit_fun_hints.ml │ ├── typing-deprecated │ │ ├── deprecated.ml │ │ └── ocamltests │ ├── typing-extension-constructor │ │ ├── ocamltests │ │ ├── test.ml │ │ └── test.ocaml.reference │ ├── typing-extensions │ │ ├── cast.ml │ │ ├── cast.ocaml.reference │ │ ├── extensions.ml │ │ ├── extensions.ocaml.reference │ │ ├── msg.ml │ │ ├── msg.ocaml.reference │ │ ├── ocamltests │ │ ├── open_types.ml │ │ └── open_types.ocaml.reference │ ├── typing-fstclassmod │ │ ├── fstclassmod.ml │ │ ├── fstclassmod.reference │ │ └── ocamltests │ ├── typing-gadts │ │ ├── ambiguity.ml │ │ ├── didier.ml │ │ ├── dynamic_frisch.ml │ │ ├── nested_equations.ml │ │ ├── ocamltests │ │ ├── omega07.ml │ │ ├── pr5332.ml │ │ ├── pr5689.ml │ │ ├── pr5785.ml │ │ ├── pr5848.ml │ │ ├── pr5906.ml │ │ ├── pr5948.ml │ │ ├── pr5981.ml │ │ ├── pr5985.ml │ │ ├── pr5989.ml │ │ ├── pr5997.ml │ │ ├── pr6158.ml │ │ ├── pr6163.ml │ │ ├── pr6174.ml │ │ ├── pr6241.ml │ │ ├── pr6690.ml │ │ ├── pr6817.ml │ │ ├── pr6934.ml │ │ ├── pr6980.ml │ │ ├── pr6993_bad.ml │ │ ├── pr7016.ml │ │ ├── pr7160.ml │ │ ├── pr7214.ml │ │ ├── pr7222.ml │ │ ├── pr7230.ml │ │ ├── pr7234.ml │ │ ├── pr7260.ml │ │ ├── pr7269.ml │ │ ├── pr7298.ml │ │ ├── pr7374.ml │ │ ├── pr7378.ml │ │ ├── pr7381.ml │ │ ├── pr7390.ml │ │ ├── pr7391.ml │ │ ├── pr7397.ml │ │ ├── pr7421.ml │ │ ├── pr7432.ml │ │ ├── pr7618.ml │ │ ├── pr7747.ml │ │ ├── term-conv.ml │ │ ├── test.ml │ │ ├── unify_mb.ml │ │ ├── variables_in_mcomp.ml │ │ └── yallop_bugs.ml │ ├── typing-immediate │ │ ├── immediate.ml │ │ └── ocamltests │ ├── typing-implicit_unpack │ │ ├── implicit_unpack.ml │ │ ├── implicit_unpack.ocaml.reference │ │ └── ocamltests │ ├── typing-labels │ │ ├── mixin.ml │ │ ├── mixin.reference │ │ ├── mixin2.ml │ │ ├── mixin2.reference │ │ ├── mixin3.ml │ │ ├── mixin3.reference │ │ └── ocamltests │ ├── typing-misc-bugs │ │ ├── core_array_reduced_ok.ml │ │ ├── ocamltests │ │ ├── pr6303_bad.compilers.reference │ │ ├── pr6303_bad.ml │ │ ├── pr6946_bad.compilers.reference │ │ └── pr6946_bad.ml │ ├── typing-misc │ │ ├── constraints.ml │ │ ├── disambiguate_principality.ml │ │ ├── empty_variant.ml │ │ ├── enrich_typedecl.ml │ │ ├── inside_out.ml │ │ ├── labels.ml │ │ ├── ocamltests │ │ ├── occur_check.ml │ │ ├── polyvars.ml │ │ ├── pr6939-flat-float-array.ml │ │ ├── pr6939-no-flat-float-array.ml │ │ ├── pr7103.ml │ │ ├── pr7228.ml │ │ ├── pr7668_bad.ml │ │ ├── pr7712.ml │ │ ├── printing.ml │ │ ├── records.ml │ │ ├── variant.ml │ │ └── wellfounded.ml │ ├── typing-missing-cmi │ │ ├── a.ml │ │ ├── b.ml │ │ ├── c.ml │ │ ├── main.ml │ │ ├── main.ml.reference │ │ ├── main_ok.ml │ │ ├── ocamltests │ │ ├── subdir │ │ │ └── m.ml │ │ ├── test.compilers.reference │ │ └── test.ml │ ├── typing-modules-bugs │ │ ├── gatien_baron_20131019_ok.ml │ │ ├── ocamltests │ │ ├── pr5164_ok.ml │ │ ├── pr51_ok.ml │ │ ├── pr5663_ok.ml │ │ ├── pr5914_ok.ml │ │ ├── pr6240_ok.ml │ │ ├── pr6293_bad.compilers.reference │ │ ├── pr6293_bad.ml │ │ ├── pr6427_bad.compilers.reference │ │ ├── pr6427_bad.ml │ │ ├── pr6485_ok.ml │ │ ├── pr6513_ok.ml │ │ ├── pr6572_ok.ml │ │ ├── pr6651_ok.ml │ │ ├── pr6752_bad.compilers.reference │ │ ├── pr6752_bad.ml │ │ ├── pr6752_ok.ml │ │ ├── pr6899_first_bad.compilers.reference │ │ ├── pr6899_first_bad.ml │ │ ├── pr6899_ok.ml │ │ ├── pr6899_second_bad.compilers.reference │ │ ├── pr6899_second_bad.ml │ │ ├── pr6944_ok.ml │ │ ├── pr6954_ok.ml │ │ ├── pr6981_ok.ml │ │ ├── pr6982_ok.ml │ │ ├── pr6985_ok.ml │ │ ├── pr6992_bad.compilers.reference │ │ ├── pr6992_bad.ml │ │ ├── pr7036_ok.ml │ │ ├── pr7082_ok.ml │ │ ├── pr7112_bad.compilers.reference │ │ ├── pr7112_bad.ml │ │ ├── pr7112_ok.ml │ │ ├── pr7152_ok.ml │ │ ├── pr7182_ok.ml │ │ ├── pr7305_principal.ml │ │ ├── pr7321_ok.ml │ │ ├── pr7414_bad.compilers.reference │ │ ├── pr7414_bad.ml │ │ ├── pr7519_ok.ml │ │ ├── pr7601_ok.ml │ │ └── pr7601a_ok.ml │ ├── typing-modules │ │ ├── Test.ml │ │ ├── aliases.ml │ │ ├── applicative_functor_type.ml │ │ ├── firstclass.ml │ │ ├── generative.ml │ │ ├── ocamltests │ │ ├── pr5911.ml │ │ ├── pr6394.ml │ │ ├── pr7207.ml │ │ ├── pr7348.ml │ │ ├── printing.ml │ │ └── recursive.ml │ ├── typing-multifile │ │ ├── a.ml │ │ ├── b.ml │ │ ├── c.ml │ │ ├── d.mli │ │ ├── e.ml │ │ ├── f.ml │ │ ├── ocamltests │ │ ├── pr6372.ml │ │ ├── pr7325.ml │ │ └── pr7563.ml │ ├── typing-objects-bugs │ │ ├── ocamltests │ │ ├── pr3968_bad.compilers.reference │ │ ├── pr3968_bad.ml │ │ ├── pr4018_bad.compilers.reference │ │ ├── pr4018_bad.ml │ │ ├── pr4435_bad.compilers.reference │ │ ├── pr4435_bad.ml │ │ ├── pr4766_ok.ml │ │ ├── pr4824_ok.ml │ │ ├── pr4824a_bad.compilers.reference │ │ ├── pr4824a_bad.ml │ │ ├── pr5156_ok.ml │ │ ├── pr7284_bad.compilers.reference │ │ ├── pr7284_bad.ml │ │ ├── pr7293_ok.ml │ │ ├── woodyatt_ok.ml │ │ └── yamagata021012_ok.ml │ ├── typing-objects │ │ ├── Exemples.ml │ │ ├── Tests.ml │ │ ├── dummy.ml │ │ ├── ocamltests │ │ ├── open_in_classes.ml │ │ ├── pr5545.ml │ │ ├── pr5619_bad.ml │ │ ├── pr5858.ml │ │ ├── pr6123_bad.ml │ │ ├── pr6383.ml │ │ ├── pr6907_bad.ml │ │ └── pr7711_ok.ml │ ├── typing-ocamlc-i │ │ ├── ocamltests │ │ ├── pr7620_bad.compilers.reference │ │ └── pr7620_bad.ml │ ├── typing-pattern_open │ │ ├── ocamltests │ │ ├── pattern_open.ml │ │ └── pattern_open.ocaml.reference │ ├── typing-poly-bugs │ │ ├── ocamltests │ │ ├── pr5322_ok.ml │ │ ├── pr5673_bad.compilers.reference │ │ ├── pr5673_bad.ml │ │ └── pr5673_ok.ml │ ├── typing-poly │ │ ├── ocamltests │ │ └── poly.ml │ ├── typing-polyvariants-bugs-2 │ │ ├── ocamltests │ │ ├── pr3918a.mli │ │ ├── pr3918b.mli │ │ ├── pr3918c.compilers.reference │ │ └── pr3918c.ml │ ├── typing-polyvariants-bugs │ │ ├── ocamltests │ │ ├── pr4775_ok.ml │ │ ├── pr4933_ok.ml │ │ ├── pr5057_ok.ml │ │ ├── pr5057a_bad.compilers.reference │ │ ├── pr5057a_bad.ml │ │ ├── pr7199_ok.ml │ │ └── privrowsabate_ok.ml │ ├── typing-private-bugs │ │ ├── ocamltests │ │ ├── pr5026_bad.compilers.reference │ │ ├── pr5026_bad.ml │ │ └── pr5469_ok.ml │ ├── typing-private │ │ ├── ocamltests │ │ ├── private.compilers.principal.reference │ │ ├── private.compilers.reference │ │ └── private.ml │ ├── typing-recmod │ │ ├── ocamltests │ │ ├── t01bad.compilers.reference │ │ ├── t01bad.ml │ │ ├── t02bad.compilers.reference │ │ ├── t02bad.ml │ │ ├── t03ok.ml │ │ ├── t04bad.compilers.reference │ │ ├── t04bad.ml │ │ ├── t05bad.compilers.reference │ │ ├── t05bad.ml │ │ ├── t06ok.ml │ │ ├── t07bad.compilers.reference │ │ ├── t07bad.ml │ │ ├── t08bad.compilers.reference │ │ ├── t08bad.ml │ │ ├── t09bad.compilers.reference │ │ ├── t09bad.ml │ │ ├── t10ok.ml │ │ ├── t11bad.compilers.reference │ │ ├── t11bad.ml │ │ ├── t12bad.compilers.reference │ │ ├── t12bad.ml │ │ ├── t13ok.ml │ │ ├── t14bad.compilers.reference │ │ ├── t14bad.ml │ │ ├── t15bad.compilers.reference │ │ ├── t15bad.ml │ │ ├── t16ok.ml │ │ ├── t17ok.ml │ │ ├── t18ok.ml │ │ ├── t19ok.ml │ │ ├── t20ok.ml │ │ ├── t21ok.ml │ │ ├── t22ok.ml │ │ └── t22ok.mli │ ├── typing-recordarg │ │ ├── ocamltests │ │ ├── recordarg.ml │ │ └── recordarg.ocaml.reference │ ├── typing-rectypes-bugs │ │ ├── ocamltests │ │ ├── pr5343_bad.compilers.reference │ │ ├── pr5343_bad.ml │ │ ├── pr6174_bad.compilers.reference │ │ ├── pr6174_bad.ml │ │ ├── pr6870_bad.compilers.reference │ │ └── pr6870_bad.ml │ ├── typing-safe-linking │ │ ├── a.ml │ │ ├── b_bad.compilers.reference │ │ ├── b_bad.ml │ │ └── ocamltests │ ├── typing-shadowing-of-pervasives-submodules │ │ ├── largeFile.ml │ │ ├── ocamltests │ │ ├── redefine_largefile.ml │ │ └── redefine_largefile.reference │ ├── typing-short-paths │ │ ├── gpr1223.compilers.reference │ │ ├── gpr1223.ml │ │ ├── gpr1223_bar.mli │ │ ├── gpr1223_foo.mli │ │ ├── ocamltests │ │ ├── pr5918.compilers.reference │ │ ├── pr5918.ml │ │ ├── pr6836.compilers.reference │ │ ├── pr6836.ml │ │ ├── pr7543.compilers.reference │ │ ├── pr7543.ml │ │ ├── short-paths.compilers.reference │ │ └── short-paths.ml │ ├── typing-signatures │ │ ├── els.ml │ │ ├── els.ocaml.reference │ │ ├── ocamltests │ │ ├── pr6371.ml │ │ ├── pr6371.ocaml.reference │ │ ├── pr6672.ml │ │ └── pr6672.ocaml.reference │ ├── typing-sigsubst │ │ ├── ocamltests │ │ └── sigsubst.ml │ ├── typing-typeparam │ │ ├── newtype.ml │ │ ├── newtype.ocaml.reference │ │ └── ocamltests │ ├── typing-unboxed-types │ │ ├── ocamltests │ │ ├── test.ml │ │ ├── test.ml.reference-flat │ │ └── test.ml.reference-noflat │ ├── typing-unboxed │ │ ├── ocamltests │ │ ├── test.ml │ │ └── test.ocaml.reference │ ├── typing-warnings │ │ ├── ambiguous_guarded_disjunction.compilers.reference │ │ ├── ambiguous_guarded_disjunction.ml │ │ ├── application.compilers.reference │ │ ├── application.ml │ │ ├── coercions.compilers.principal.reference │ │ ├── coercions.compilers.reference │ │ ├── coercions.ml │ │ ├── exhaustiveness.compilers.reference │ │ ├── exhaustiveness.ml │ │ ├── ocamltests │ │ ├── pr5892.compilers.reference │ │ ├── pr5892.ml │ │ ├── pr6587.compilers.reference │ │ ├── pr6587.ml │ │ ├── pr6872.compilers.principal.reference │ │ ├── pr6872.compilers.reference │ │ ├── pr6872.ml │ │ ├── pr7085.compilers.reference │ │ ├── pr7085.ml │ │ ├── pr7115.compilers.reference │ │ ├── pr7115.ml │ │ ├── pr7261.compilers.reference │ │ ├── pr7261.ml │ │ ├── pr7297.compilers.reference │ │ ├── pr7297.ml │ │ ├── pr7553.compilers.reference │ │ ├── pr7553.ml │ │ ├── records.compilers.principal.reference │ │ ├── records.compilers.reference │ │ ├── records.ml │ │ ├── unused_types.compilers.reference │ │ └── unused_types.ml │ ├── unboxed-primitive-args │ │ ├── Makefile │ │ ├── README │ │ ├── common.ml │ │ ├── common.mli │ │ ├── gen_test.ml │ │ ├── main.reference │ │ ├── test_common.c │ │ └── test_common.h │ ├── unwind │ │ ├── Makefile │ │ ├── README │ │ ├── driver.ml │ │ ├── mylib.ml │ │ ├── mylib.mli │ │ └── stack_walker.c │ ├── utils │ │ ├── Makefile │ │ ├── edit_distance.ml │ │ ├── edit_distance.reference │ │ ├── overflow_detection.ml │ │ ├── overflow_detection.reference │ │ ├── test_strongly_connected_components.ml │ │ └── test_strongly_connected_components.reference │ ├── warnings │ │ ├── Makefile │ │ ├── deprecated_module.ml │ │ ├── deprecated_module.mli │ │ ├── deprecated_module.reference │ │ ├── deprecated_module_assigment.ml │ │ ├── deprecated_module_assigment.reference │ │ ├── deprecated_module_use.ml │ │ ├── deprecated_module_use.reference │ │ ├── module_without_cmx.mli │ │ ├── w01.ml │ │ ├── w01.reference │ │ ├── w04.ml │ │ ├── w04.reference │ │ ├── w04_failure.ml │ │ ├── w04_failure.reference │ │ ├── w06.ml │ │ ├── w06.reference │ │ ├── w32.ml │ │ ├── w32.mli │ │ ├── w32.reference │ │ ├── w32b.ml │ │ ├── w32b.reference │ │ ├── w33.ml │ │ ├── w33.reference │ │ ├── w45.ml │ │ ├── w45.reference │ │ ├── w47_inline.ml │ │ ├── w47_inline.reference │ │ ├── w50.ml │ │ ├── w50.reference │ │ ├── w51.ml │ │ ├── w51.reference │ │ ├── w51_bis.ml │ │ ├── w51_bis.reference │ │ ├── w52.ml │ │ ├── w52.reference │ │ ├── w53.ml │ │ ├── w53.reference │ │ ├── w54.ml │ │ ├── w54.reference │ │ ├── w55.opt_backend.clambda.opt_reference │ │ ├── w55.opt_backend.flambda.opt_reference │ │ ├── w55.opt_backend.ml │ │ ├── w55.opt_backend.reference │ │ ├── w58.opt.ml │ │ ├── w58.opt.opt_reference │ │ ├── w58.opt.reference │ │ ├── w59.opt_backend.clambda.opt_reference │ │ ├── w59.opt_backend.flambda.opt_reference │ │ ├── w59.opt_backend.ml │ │ ├── w59.opt_backend.reference │ │ ├── w60.ml │ │ ├── w60.mli │ │ └── w60.reference │ └── win-unicode │ │ ├── Makefile │ │ ├── exec_tests.ml │ │ ├── exec_tests.precheck │ │ ├── exec_tests.reference │ │ ├── mkfiles.c │ │ ├── mltest.ml │ │ ├── mltest.reference │ │ ├── printargv.c │ │ ├── printenv.c │ │ ├── symlink_tests.ml │ │ └── symlink_tests.reference ├── tools │ ├── Makefile │ └── expect_test.ml └── typing ├── tools ├── .depend ├── Makefile ├── Makefile.nt ├── addlabels.ml ├── check-symbol-names ├── check-typo ├── checkstack.c ├── ci-build ├── ci-build-other-configs ├── cmpbyt.ml ├── cmt2annot.ml ├── cvt_emit.mll ├── dumpobj.ml ├── eqparsetree.ml ├── gdb-macros ├── lexer299.mll ├── lexer301.mll ├── lintapidiff.ml ├── magic ├── make-package-macosx ├── make-version-header.sh ├── make_opcodes.mll ├── msvs-promote-path ├── objinfo.ml ├── objinfo_helper.c ├── ocaml-instr-graph ├── ocaml-instr-report ├── ocaml-objcopy-macosx ├── ocaml299to3.ml ├── ocamlcp.ml ├── ocamldep.ml ├── ocamlmklib.ml ├── ocamlmktop.ml ├── ocamloptp.ml ├── ocamlprof.ml ├── ocamlsize ├── primreq.ml ├── profiling.ml ├── profiling.mli ├── read_cmt.ml ├── scrapelabels.ml └── stripdebug.ml ├── toplevel ├── expunge.ml ├── genprintval.ml ├── genprintval.mli ├── opttopdirs.ml ├── opttopdirs.mli ├── opttoploop.ml ├── opttoploop.mli ├── opttopmain.ml ├── opttopmain.mli ├── opttopstart.ml ├── topdirs.ml ├── topdirs.mli ├── toploop.ml ├── toploop.mli ├── topmain.ml ├── topmain.mli ├── topstart.ml ├── trace.ml └── trace.mli ├── typing ├── HACKING.adoc ├── annot.mli ├── btype.ml ├── btype.mli ├── cmi_format.ml ├── cmi_format.mli ├── cmt_format.ml ├── cmt_format.mli ├── ctype.ml ├── ctype.mli ├── datarepr.ml ├── datarepr.mli ├── env.ml ├── env.mli ├── envaux.ml ├── envaux.mli ├── ident.ml ├── ident.mli ├── includeclass.ml ├── includeclass.mli ├── includecore.ml ├── includecore.mli ├── includemod.ml ├── includemod.mli ├── mtype.ml ├── mtype.mli ├── oprint.ml ├── oprint.mli ├── outcometree.mli ├── parmatch.ml ├── parmatch.mli ├── path.ml ├── path.mli ├── predef.ml ├── predef.mli ├── primitive.ml ├── primitive.mli ├── printpat.ml ├── printpat.mli ├── printtyp.ml ├── printtyp.mli ├── printtyped.ml ├── printtyped.mli ├── stypes.ml ├── stypes.mli ├── subst.ml ├── subst.mli ├── tast_mapper.ml ├── tast_mapper.mli ├── typeclass.ml ├── typeclass.mli ├── typecore.ml ├── typecore.mli ├── typedecl.ml ├── typedecl.mli ├── typedtree.ml ├── typedtree.mli ├── typedtreeIter.ml ├── typedtreeIter.mli ├── typedtreeMap.ml ├── typedtreeMap.mli ├── typemod.ml ├── typemod.mli ├── typeopt.ml ├── typeopt.mli ├── types.ml ├── types.mli ├── typetexp.ml ├── typetexp.mli ├── untypeast.ml └── untypeast.mli ├── utils ├── arg_helper.ml ├── arg_helper.mli ├── build_path_prefix_map.ml ├── build_path_prefix_map.mli ├── ccomp.ml ├── ccomp.mli ├── clflags.ml ├── clflags.mli ├── config.mli ├── config.mlp ├── consistbl.ml ├── consistbl.mli ├── identifiable.ml ├── identifiable.mli ├── misc.ml ├── misc.mli ├── numbers.ml ├── numbers.mli ├── profile.ml ├── profile.mli ├── strongly_connected_components.ml ├── strongly_connected_components.mli ├── targetint.ml ├── targetint.mli ├── tbl.ml ├── tbl.mli ├── terminfo.ml ├── terminfo.mli ├── warnings.ml └── warnings.mli ├── wasm-tests ├── .gitignore ├── Makefile ├── README.md ├── karma.conf.js ├── libasmrun.wasm ├── package.json ├── test │ ├── arithmetic.ml │ ├── array2.ml │ ├── crud.ml │ ├── curried_function.ml │ ├── curried_function.wasm │ ├── exception_handling.ml │ ├── file_a.ml │ ├── file_b.ml │ ├── loop.ml │ ├── noncurried_function.ml │ ├── noncurried_function.wasm │ ├── runtime.js │ ├── switch.ml │ └── test.js └── yarn.lock └── yacc ├── Makefile ├── Makefile.nt ├── closure.c ├── defs.h ├── error.c ├── lalr.c ├── lr0.c ├── main.c ├── mkpar.c ├── output.c ├── reader.c ├── skeleton.c ├── symtab.c ├── verbose.c └── warshall.c /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [sanderspies] 4 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "flexdll"] 2 | path = flexdll 3 | url = https://github.com/alainfrisch/flexdll.git 4 | -------------------------------------------------------------------------------- /.ocp-indent: -------------------------------------------------------------------------------- 1 | match_clause=4 2 | strict_with=auto 3 | -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | 4.07.0+dev0-2017-09-18 2 | 3 | # The version string is the first line of this file. 4 | # It must be in the format described in stdlib/sys.mli 5 | -------------------------------------------------------------------------------- /asmcomp/afl_instrument.mli: -------------------------------------------------------------------------------- 1 | (* Instrumentation for afl-fuzz *) 2 | 3 | val instrument_function : Cmm.expression -> Cmm.expression 4 | val instrument_initialiser : Cmm.expression -> Cmm.expression 5 | -------------------------------------------------------------------------------- /asmcomp/f32ast.ml: -------------------------------------------------------------------------------- 1 | wasm32/f32ast.ml -------------------------------------------------------------------------------- /asmcomp/utf8.ml: -------------------------------------------------------------------------------- 1 | wasm32/utf8.ml -------------------------------------------------------------------------------- /asmcomp/wasm32/README.md: -------------------------------------------------------------------------------- 1 | Compiling to WebAssembly 2 | === 3 | 4 | Overview 5 | --- 6 | cmm -> typed cmm -> wasm ast -> linking -> binary 7 | 8 | Typed CMM 9 | --- 10 | 11 | Linking 12 | --- 13 | -------------------------------------------------------------------------------- /asmcomp/wasm32/f64.ml: -------------------------------------------------------------------------------- 1 | 2 | include Float.Make 3 | (struct 4 | include Int64 5 | let pos_nan = 0x7ff8000000000000L 6 | let neg_nan = 0xfff8000000000000L 7 | let bare_nan = 0x7ff0000000000000L 8 | let to_hex_string = Printf.sprintf "%Lx" 9 | end) 10 | -------------------------------------------------------------------------------- /asmcomp/wasm32/i32.ml: -------------------------------------------------------------------------------- 1 | include Int.Make 2 | (struct 3 | include Int32 4 | let bitwidth = 32 5 | end) 6 | -------------------------------------------------------------------------------- /asmcomp/wasm32/i64.ml: -------------------------------------------------------------------------------- 1 | (* WebAssembly-compatible i64 implementation *) 2 | 3 | include Int.Make 4 | (struct 5 | include Int64 6 | let bitwidth = 64 7 | end) 8 | -------------------------------------------------------------------------------- /asmcomp/wasm32/numeric_error.ml: -------------------------------------------------------------------------------- 1 | exception IntegerOverflow 2 | exception IntegerDivideByZero 3 | exception InvalidConversionToInteger 4 | -------------------------------------------------------------------------------- /asmrun/libasmrun.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/asmrun/libasmrun.wasm -------------------------------------------------------------------------------- /boot/ocamlc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/boot/ocamlc -------------------------------------------------------------------------------- /boot/ocamllex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/boot/ocamllex -------------------------------------------------------------------------------- /byterun/caml/setjmp_wasm.h: -------------------------------------------------------------------------------- 1 | #define _JBLEN (10 + 16 + 2) 2 | 3 | typedef int jmp_buf[_JBLEN]; 4 | 5 | 6 | extern int setjmp2(jmp_buf); 7 | extern void longjmp2(jmp_buf, int); -------------------------------------------------------------------------------- /compilerlibs/.gitignore: -------------------------------------------------------------------------------- 1 | # This .gitignore is here to force git to create the compilerlibs directory 2 | # because git doesn't create empty directories. 3 | # The lines tell git to ignore everything in this directory except 4 | # the .gitignore file itself. 5 | 6 | * 7 | !.gitignore 8 | -------------------------------------------------------------------------------- /config/auto-aux/cfi.S: -------------------------------------------------------------------------------- 1 | camlPervasives__loop_1128: 2 | .file 1 "pervasives.ml" 3 | .loc 1 193 4 | .cfi_startproc 5 | .cfi_adjust_cfa_offset 8 6 | .cfi_endproc 7 | -------------------------------------------------------------------------------- /config/auto-aux/hashbang: -------------------------------------------------------------------------------- 1 | #! /bin/cat 2 | exit 1 3 | -------------------------------------------------------------------------------- /config/auto-aux/hashbang2: -------------------------------------------------------------------------------- 1 | #! /usr/bin/cat 2 | exit 1 3 | -------------------------------------------------------------------------------- /config/auto-aux/hashbang3: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env cat 2 | exit 1 3 | -------------------------------------------------------------------------------- /experimental/frisch/test_copy_typedef.mli: -------------------------------------------------------------------------------- 1 | module type S = sig 2 | type t 3 | val x: int 4 | end 5 | 6 | module type T = sig 7 | type t 8 | 9 | module type M = sig 10 | type t = A | B of t 11 | end 12 | end 13 | 14 | module M : sig 15 | type t = 16 | | A 17 | | B of string 18 | end 19 | 20 | type t = int list 21 | -------------------------------------------------------------------------------- /experimental/frisch/test_matches.ml: -------------------------------------------------------------------------------- 1 | let l = List.filter [%matches ? 'a'..'z'] ['a';'A';'X';'x'] 2 | 3 | let f = [%matches ? Some i when i >= 0] 4 | -------------------------------------------------------------------------------- /experimental/garrigue/.cvsignore: -------------------------------------------------------------------------------- 1 | *.out 2 | *.out2 3 | -------------------------------------------------------------------------------- /experimental/garrigue/dirs_multimatch: -------------------------------------------------------------------------------- 1 | parsing typing bytecomp driver toplevel 2 | -------------------------------------------------------------------------------- /experimental/garrigue/dirs_poly: -------------------------------------------------------------------------------- 1 | bytecomp byterun driver parsing stdlib tools toplevel typing utils 2 | -------------------------------------------------------------------------------- /experimental/garrigue/printers.ml: -------------------------------------------------------------------------------- 1 | (* $Id$ *) 2 | 3 | open Types 4 | 5 | let ignore_abbrevs ppf ab = 6 | let s = match ab with 7 | Mnil -> "Mnil" 8 | | Mlink _ -> "Mlink _" 9 | | Mcons _ -> "Mcons _" 10 | in 11 | Format.pp_print_string ppf s 12 | -------------------------------------------------------------------------------- /experimental/garrigue/variable-names.ml: -------------------------------------------------------------------------------- 1 | let f (x : < a:int; .. > as 'me1) = (x : < b:bool; .. > as 'me2);; 2 | let f (x : < a:int; .. > as 'me1) = (x : < a:int; b:bool; .. > as 'me2);; 3 | let f (x : [> `A of int] as 'me1) = (x : [> `B of bool] as 'me2);; 4 | let f (x : [> `A of int] as 'me1) = (x : [`A of int | `B of 'me2] as 'me2);; 5 | -------------------------------------------------------------------------------- /libasmrun.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/libasmrun.wasm -------------------------------------------------------------------------------- /manual/manual/.gitignore: -------------------------------------------------------------------------------- 1 | allfiles.tex 2 | biblio.tex 3 | foreword.tex 4 | version.tex 5 | warnings.etex 6 | warnings.tex 7 | foreword.htex 8 | manual.html 9 | -------------------------------------------------------------------------------- /manual/manual/allfiles.etex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/manual/manual/allfiles.etex -------------------------------------------------------------------------------- /manual/manual/biblio.etex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/manual/manual/biblio.etex -------------------------------------------------------------------------------- /manual/manual/cmds/.gitignore: -------------------------------------------------------------------------------- 1 | *.tex 2 | *.htex 3 | warnings.etex 4 | -------------------------------------------------------------------------------- /manual/manual/cmds/ocamlbuild.etex: -------------------------------------------------------------------------------- 1 | \chapter{The ocamlbuild compilation manager} \label{c:ocamlbuild} 2 | \pdfchapter{The ocamlbuild compilation manager} 3 | 4 | Since OCaml version 4.03, the ocamlbuild compilation manager is 5 | distributed separately from the OCaml compiler. The project is now 6 | hosted at \url{https://github.com/ocaml/ocamlbuild/}. 7 | -------------------------------------------------------------------------------- /manual/manual/htmlman/.gitignore: -------------------------------------------------------------------------------- 1 | *.html 2 | *.haux 3 | *.hind 4 | libref 5 | manual.hmanual 6 | manual.hmanual.kwd 7 | manual.css 8 | *.htoc 9 | -------------------------------------------------------------------------------- /manual/manual/htmlman/contents_motif.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/manual/manual/htmlman/contents_motif.gif -------------------------------------------------------------------------------- /manual/manual/htmlman/libgraph.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/manual/manual/htmlman/libgraph.gif -------------------------------------------------------------------------------- /manual/manual/htmlman/next_motif.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/manual/manual/htmlman/next_motif.gif -------------------------------------------------------------------------------- /manual/manual/htmlman/previous_motif.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/manual/manual/htmlman/previous_motif.gif -------------------------------------------------------------------------------- /manual/manual/infoman/.gitignore: -------------------------------------------------------------------------------- 1 | *.haux 2 | *.hind 3 | *.info*.gz 4 | *.info.body* 5 | ocaml.hocaml.kwd 6 | -------------------------------------------------------------------------------- /manual/manual/library/.cvsignore: -------------------------------------------------------------------------------- 1 | *.tex 2 | *.htex 3 | arithstatus.mli 4 | ocamldoc.out 5 | ocamldoc.sty 6 | -------------------------------------------------------------------------------- /manual/manual/library/.gitignore: -------------------------------------------------------------------------------- 1 | *.tex 2 | *.htex 3 | arithstatus.mli 4 | ocamldoc.out 5 | ocamldoc.sty 6 | -------------------------------------------------------------------------------- /manual/manual/library/libgraph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/manual/manual/library/libgraph.png -------------------------------------------------------------------------------- /manual/manual/macros.hva: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/manual/manual/macros.hva -------------------------------------------------------------------------------- /manual/manual/manual.hva: -------------------------------------------------------------------------------- 1 | \input{book.hva} 2 | \input{fancysection.hva} 3 | \input{macros.hva} 4 | \newif\ifouthtml\outhtmltrue -------------------------------------------------------------------------------- /manual/manual/manual.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/manual/manual/manual.inf -------------------------------------------------------------------------------- /manual/manual/manual.info.header: -------------------------------------------------------------------------------- 1 | INFO-DIR-SECTION OCaml Programming Language 2 | START-INFO-DIR-ENTRY 3 | * ocaml: (ocaml). OCaml Reference Manual 4 | END-INFO-DIR-ENTRY 5 | -------------------------------------------------------------------------------- /manual/manual/refman/.cvsignore: -------------------------------------------------------------------------------- 1 | *.tex 2 | *.htex 3 | -------------------------------------------------------------------------------- /manual/manual/refman/.gitignore: -------------------------------------------------------------------------------- 1 | *.tex 2 | *.htex 3 | -------------------------------------------------------------------------------- /manual/manual/texstuff/.cvsignore: -------------------------------------------------------------------------------- 1 | *.aux 2 | *.dvi 3 | *.idx 4 | *.ilg 5 | *.ind 6 | *.log 7 | *.toc 8 | *.ipr 9 | *.txt 10 | *.pdf 11 | *.ps 12 | pdfmanual.out 13 | manual.out 14 | -------------------------------------------------------------------------------- /manual/manual/texstuff/.gitignore: -------------------------------------------------------------------------------- 1 | *.aux 2 | *.dvi 3 | *.idx 4 | *.ilg 5 | *.ind 6 | *.log 7 | *.toc 8 | *.ipr 9 | *.txt 10 | *.pdf 11 | *.ps 12 | pdfmanual.out 13 | manual.out 14 | -------------------------------------------------------------------------------- /manual/manual/textman/.cvsignore: -------------------------------------------------------------------------------- 1 | manual.txt 2 | manual.hmanual.kwd 3 | *.haux 4 | *.hind 5 | *.htoc 6 | -------------------------------------------------------------------------------- /manual/manual/textman/.gitignore: -------------------------------------------------------------------------------- 1 | manual.txt 2 | manual.hmanual.kwd 3 | *.haux 4 | *.hind 5 | *.htoc 6 | -------------------------------------------------------------------------------- /manual/manual/tutorials/.cvsignore: -------------------------------------------------------------------------------- 1 | *.tex 2 | *.htex 3 | -------------------------------------------------------------------------------- /manual/manual/tutorials/.gitignore: -------------------------------------------------------------------------------- 1 | *.tex 2 | *.htex 3 | -------------------------------------------------------------------------------- /manual/manual/tutorials/advexamples.etex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/manual/manual/tutorials/advexamples.etex -------------------------------------------------------------------------------- /manual/styles/doc.tfm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/manual/styles/doc.tfm -------------------------------------------------------------------------------- /manual/styles/docbf.tfm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/manual/styles/docbf.tfm -------------------------------------------------------------------------------- /manual/styles/docit.tfm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/manual/styles/docit.tfm -------------------------------------------------------------------------------- /manual/styles/docmi.tfm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/manual/styles/docmi.tfm -------------------------------------------------------------------------------- /manual/styles/docrm.tfm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/manual/styles/docrm.tfm -------------------------------------------------------------------------------- /manual/styles/doctt.tfm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/manual/styles/doctt.tfm -------------------------------------------------------------------------------- /manual/styles/fullpage.sty: -------------------------------------------------------------------------------- 1 | \marginparwidth 0pt \oddsidemargin 0pt \evensidemargin 0pt \marginparsep 0pt 2 | \topmargin 0pt \textwidth 6.5in \textheight 8.5 in 3 | -------------------------------------------------------------------------------- /manual/styles/isolatin.sty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/manual/styles/isolatin.sty -------------------------------------------------------------------------------- /manual/styles/scroll.sty: -------------------------------------------------------------------------------- 1 | % Modification to plaintext.sty to suppress page headings 2 | % and make pages contiguous when processed with dvi2txt 3 | 4 | \pagestyle{empty} 5 | \advance\voffset by -2\baselineskip 6 | -------------------------------------------------------------------------------- /manual/tools/.gitignore: -------------------------------------------------------------------------------- 1 | transf.ml 2 | texquote2 3 | htmltransf.ml 4 | transf 5 | htmlgen 6 | htmlquote 7 | latexscan.ml 8 | dvi2txt 9 | caml-tex2 10 | *.dSYM 11 | *.cm[io] 12 | *.o 13 | -------------------------------------------------------------------------------- /manual/tools/.ignore: -------------------------------------------------------------------------------- 1 | transf.ml 2 | texquote2 3 | htmltransf.ml 4 | transf 5 | htmlgen 6 | htmlquote 7 | latexscan.ml 8 | dvi2txt 9 | caml-tex2 10 | *.dSYM 11 | *.cm[io] 12 | -------------------------------------------------------------------------------- /manual/tools/dvi_to_txt/Makefile: -------------------------------------------------------------------------------- 1 | OBJS=io.o interp.o output.o main.o print.o print_rtf.o print_styl.o 2 | CFLAGS=-g 3 | 4 | ../dvi2txt: $(OBJS) 5 | $(CC) $(CFLAGS) -o ../dvi2txt $(OBJS) 6 | 7 | clean: 8 | rm -f ../dvi2txt *.o *~ #*# 9 | -------------------------------------------------------------------------------- /manual/tools/dvi_to_txt/io.h: -------------------------------------------------------------------------------- 1 | #ifdef __STDC__ 2 | typedef signed char schar; 3 | #else 4 | typedef char schar; 5 | #endif 6 | 7 | #define get8u(input) getc(input) 8 | #define get8s(input) (schar) getc(input) 9 | 10 | int get16u(), get16s(), get24u(), get24s(), get32u(), get32s(); 11 | -------------------------------------------------------------------------------- /manual/tools/latexmacros.mli: -------------------------------------------------------------------------------- 1 | type action = 2 | Print of string 3 | | Print_arg 4 | | Skip_arg;; 5 | 6 | val find_macro: string -> action list;; 7 | 8 | val def_macro: string -> action list -> unit;; 9 | -------------------------------------------------------------------------------- /manual/tools/latexmain.ml: -------------------------------------------------------------------------------- 1 | let main () = 2 | Latexscan.main (Lexing.from_channel stdin);; 3 | 4 | Printexc.print main (); exit 0;; 5 | -------------------------------------------------------------------------------- /manual/tools/transfmain.ml: -------------------------------------------------------------------------------- 1 | let main() = 2 | let lexbuf = Lexing.from_channel stdin in 3 | if Array.length Sys.argv >= 2 && Sys.argv.(1) = "-html" 4 | then Htmltransf.main lexbuf 5 | else Transf.main lexbuf; 6 | exit 0;; 7 | 8 | Printexc.print main ();; 9 | -------------------------------------------------------------------------------- /stdlib/hashbang: -------------------------------------------------------------------------------- 1 | #! -------------------------------------------------------------------------------- /test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/test -------------------------------------------------------------------------------- /testsuite/interactive/lib-graph-2/graph_test.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/interactive/lib-graph-2/graph_test.reference -------------------------------------------------------------------------------- /testsuite/interactive/lib-graph-3/sorts.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/interactive/lib-graph-3/sorts.reference -------------------------------------------------------------------------------- /testsuite/interactive/lib-graph/graph_example.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/interactive/lib-graph/graph_example.reference -------------------------------------------------------------------------------- /testsuite/tests/afl-instrumentation/afl-showmap-available: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | if ! which afl-showmap > /dev/null 2>&1; then 3 | echo "afl-showmap not available" > ${ocamltest_response} 4 | exit ${TEST_SKIP} 5 | else 6 | exit ${TEST_PASS} 7 | fi 8 | -------------------------------------------------------------------------------- /testsuite/tests/afl-instrumentation/ocamltests: -------------------------------------------------------------------------------- 1 | afltest.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/array-functions/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/array-functions/test.reference: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /testsuite/tests/asmcomp/is_in_static_data.c: -------------------------------------------------------------------------------- 1 | #include "caml/address_class.h" 2 | 3 | value caml_is_in_static_data(value v) { 4 | return(Val_bool(Is_in_static_data(v))); 5 | } 6 | -------------------------------------------------------------------------------- /testsuite/tests/asmcomp/is_static_flambda_dep.ml: -------------------------------------------------------------------------------- 1 | let pair = 1, 12 2 | -------------------------------------------------------------------------------- /testsuite/tests/asmcomp/ocamltests: -------------------------------------------------------------------------------- 1 | bind_tuples.ml 2 | is_static_flambda.ml 3 | is_static.ml 4 | optargs.ml 5 | register_typing.ml 6 | register_typing_switch.ml 7 | staticalloc.ml 8 | static_float_array_flambda.ml 9 | static_float_array_flambda_opaque.ml 10 | unrolling_flambda2.ml 11 | unrolling_flambda.ml 12 | -------------------------------------------------------------------------------- /testsuite/tests/asmcomp/simple_float_const.ml: -------------------------------------------------------------------------------- 1 | let f = 3.14 2 | -------------------------------------------------------------------------------- /testsuite/tests/asmcomp/simple_float_const_opaque.ml: -------------------------------------------------------------------------------- 1 | let f = 3.14 2 | -------------------------------------------------------------------------------- /testsuite/tests/asmcomp/unrolling_flambda.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * flambda 3 | ** native 4 | *) 5 | 6 | let rec f x = 7 | if x > 0 then f (x - 1) 8 | else 0 9 | [@@inline] 10 | 11 | let _ = f 0 12 | -------------------------------------------------------------------------------- /testsuite/tests/asmgen/catch-rec.cmm: -------------------------------------------------------------------------------- 1 | (function "catch_fact" (b:int) 2 | (catch (exit fact b 1) 3 | with (fact c acc) 4 | (if (== c 0) acc 5 | (exit fact (- c 1) ( * c acc))))) 6 | -------------------------------------------------------------------------------- /testsuite/tests/asmgen/catch-try.cmm: -------------------------------------------------------------------------------- 1 | 2 | (function "catch_exit" (b:int) 3 | (+ 33 4 | (catch 5 | (try (exit lbl 12) 6 | with var 456) 7 | with (lbl x) (+ x 789)))) 8 | -------------------------------------------------------------------------------- /testsuite/tests/asmgen/even-odd.cmm: -------------------------------------------------------------------------------- 1 | (function "is_even" (b:int) 2 | (catch (exit even b) 3 | with (odd v) 4 | (if (== v 0) 0 5 | (exit even (- v 1))) 6 | and (even v) 7 | (if (== v 0) 1 8 | (exit odd (- v 1))))) -------------------------------------------------------------------------------- /testsuite/tests/asmgen/lexcmm.mli: -------------------------------------------------------------------------------- 1 | val token: Lexing.lexbuf -> Parsecmm.token 2 | 3 | type error = 4 | Illegal_character 5 | | Unterminated_comment 6 | | Unterminated_string 7 | 8 | exception Error of error 9 | 10 | val report_error: Lexing.lexbuf -> error -> unit 11 | -------------------------------------------------------------------------------- /testsuite/tests/asmgen/pgcd.cmm: -------------------------------------------------------------------------------- 1 | (function "pgcd_30030" (a:int) 2 | (catch (exit pgcd a 30030) 3 | with (pgcd n m) 4 | (if (> n m) 5 | (exit pgcd m n) 6 | (if (== n 0) 7 | m 8 | (let (r (mod m n)) 9 | (exit pgcd r n)))))) -------------------------------------------------------------------------------- /testsuite/tests/ast-invariants/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/ast-invariants/test.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/ast-invariants/test.reference -------------------------------------------------------------------------------- /testsuite/tests/backtrace/backtrace.run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Run the backtrace test 3 | 4 | exec > "${output}" 2>&1 5 | 6 | for arg in a b c d ''; do 7 | "${program}" ${arg} || true 8 | done 9 | -------------------------------------------------------------------------------- /testsuite/tests/backtrace/backtraces_and_finalizers.reference: -------------------------------------------------------------------------------- 1 | ok 2 | -------------------------------------------------------------------------------- /testsuite/tests/backtrace/filter-locations: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | grep -oE '[a-zA-Z_]+\.ml(:[0-9]+)?|(line|characters) [0-9-]+' 3 | -------------------------------------------------------------------------------- /testsuite/tests/backtrace/inline_test.byte.reference: -------------------------------------------------------------------------------- 1 | inline_test.ml 2 | line 19 3 | characters 8-24 4 | inline_test.ml 5 | line 22 6 | characters 2-5 7 | inline_test.ml 8 | line 25 9 | characters 12-17 10 | inline_test.ml 11 | line 28 12 | characters 5-8 13 | inline_test.ml 14 | line 32 15 | characters 2-6 16 | -------------------------------------------------------------------------------- /testsuite/tests/backtrace/inline_test.opt.reference: -------------------------------------------------------------------------------- 1 | inline_test.ml 2 | line 19 3 | characters 2-24 4 | inline_test.ml 5 | line 22 6 | characters 2-5 7 | inline_test.ml 8 | line 25 9 | characters 12-17 10 | inline_test.ml 11 | line 28 12 | characters 5-8 13 | inline_test.ml 14 | line 32 15 | characters 2-6 16 | -------------------------------------------------------------------------------- /testsuite/tests/backtrace/inline_test.run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | (${program} 2>&1 || true) | \ 3 | ${test_source_directory}/filter-locations > ${output} 4 | -------------------------------------------------------------------------------- /testsuite/tests/backtrace/inline_traversal_test.byte.reference: -------------------------------------------------------------------------------- 1 | inline_traversal_test.ml:19 2 | inline_traversal_test.ml:22 3 | inline_traversal_test.ml:25 4 | inline_traversal_test.ml:28 5 | inline_traversal_test.ml:33 6 | -------------------------------------------------------------------------------- /testsuite/tests/backtrace/inline_traversal_test.opt.reference: -------------------------------------------------------------------------------- 1 | inline_traversal_test.ml:19 2 | inline_traversal_test.ml:22 3 | inline_traversal_test.ml:25 4 | inline_traversal_test.ml:28 5 | inline_traversal_test.ml:33 6 | -------------------------------------------------------------------------------- /testsuite/tests/backtrace/inline_traversal_test.run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | (${program} 2>&1 || true) | \ 3 | ${test_source_directory}/filter-locations > ${output} 4 | -------------------------------------------------------------------------------- /testsuite/tests/backtrace/ocamltests: -------------------------------------------------------------------------------- 1 | backtrace.ml 2 | backtrace2.ml 3 | backtrace3.ml 4 | backtrace_deprecated.ml 5 | backtrace_slots.ml 6 | backtraces_and_finalizers.ml 7 | inline_test.ml 8 | inline_traversal_test.ml 9 | pr6920_why_at.ml 10 | pr6920_why_swallow.ml 11 | raw_backtrace.ml 12 | -------------------------------------------------------------------------------- /testsuite/tests/backtrace/pr6920_why_at.byte.reference: -------------------------------------------------------------------------------- 1 | Fatal error: exception Stdlib.Pervasives.Exit 2 | Raised at file "pr6920_why_at.ml", line 13, characters 41-45 3 | Called from file "pr6920_why_at.ml", line 15, characters 2-11 4 | Called from file "pr6920_why_at.ml", line 21, characters 2-6 5 | -------------------------------------------------------------------------------- /testsuite/tests/backtrace/pr6920_why_at.opt.reference: -------------------------------------------------------------------------------- 1 | Fatal error: exception Stdlib.Pervasives.Exit 2 | Raised at file "pr6920_why_at.ml", line 13, characters 35-45 3 | Called from file "pr6920_why_at.ml", line 15, characters 2-11 4 | Called from file "pr6920_why_at.ml", line 21, characters 2-6 5 | -------------------------------------------------------------------------------- /testsuite/tests/backtrace/pr6920_why_swallow.byte.reference: -------------------------------------------------------------------------------- 1 | Fatal error: exception Stdlib.Pervasives.Exit 2 | Raised at file "pr6920_why_swallow.ml", line 13, characters 41-45 3 | Called from file "pr6920_why_swallow.ml", line 16, characters 4-13 4 | Called from file "pr6920_why_swallow.ml", line 23, characters 2-6 5 | -------------------------------------------------------------------------------- /testsuite/tests/backtrace/pr6920_why_swallow.opt.reference: -------------------------------------------------------------------------------- 1 | Fatal error: exception Stdlib.Pervasives.Exit 2 | Raised at file "pr6920_why_swallow.ml", line 13, characters 35-45 3 | Called from file "pr6920_why_swallow.ml", line 16, characters 4-13 4 | Called from file "pr6920_why_swallow.ml", line 23, characters 2-6 5 | -------------------------------------------------------------------------------- /testsuite/tests/basic-float/ocamltests: -------------------------------------------------------------------------------- 1 | tfloat_hex.ml 2 | tfloat_record.ml 3 | zero_sized_float_arrays.ml 4 | -------------------------------------------------------------------------------- /testsuite/tests/basic-float/tfloat_hex.reference: -------------------------------------------------------------------------------- 1 | 26. 2 | 208. 3 | Failure("float_of_string") 4 | Failure("float_of_string") 5 | Failure("float_of_string") 6 | Failure("float_of_string") 7 | 0. 8 | inf 9 | inf 10 | -------------------------------------------------------------------------------- /testsuite/tests/basic-float/zero_sized_float_arrays.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/basic-float/zero_sized_float_arrays.reference -------------------------------------------------------------------------------- /testsuite/tests/basic-io-2/ocamltests: -------------------------------------------------------------------------------- 1 | io.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/basic-io-2/test-file-short-lines: -------------------------------------------------------------------------------- 1 | ## 2 | # Host Database 3 | # 4 | # localhost is used to configure the loopback interface 5 | # when the system is booting. Do not change this entry. 6 | ## 7 | 127.0.0.1 localhost 8 | 255.255.255.255 broadcasthost 9 | ::1 localhost 10 | fe80::1%lo0 localhost 11 | -------------------------------------------------------------------------------- /testsuite/tests/basic-io/ocamltests: -------------------------------------------------------------------------------- 1 | wc.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/basic-io/wc.reference: -------------------------------------------------------------------------------- 1 | 1232 characters, 184 words, 58 lines 2 | -------------------------------------------------------------------------------- /testsuite/tests/basic-manyargs/ocamltests: -------------------------------------------------------------------------------- 1 | manyargs.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/basic-modules/main.mli: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/basic-modules/main.mli -------------------------------------------------------------------------------- /testsuite/tests/basic-modules/main.reference: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /testsuite/tests/basic-modules/ocamltests: -------------------------------------------------------------------------------- 1 | main.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/basic-modules/offset.ml: -------------------------------------------------------------------------------- 1 | module M = struct 2 | type t = string 3 | 4 | let x = 0 5 | let x = 1 6 | 7 | module Set = Set.Make(String) 8 | end 9 | 10 | include M 11 | -------------------------------------------------------------------------------- /testsuite/tests/basic-modules/pr7427.ml: -------------------------------------------------------------------------------- 1 | module F() = struct 2 | module M = struct 3 | let aaa = assert false 4 | let bbb () = assert false 5 | end 6 | let ccc () = M.bbb () 7 | end 8 | -------------------------------------------------------------------------------- /testsuite/tests/basic-more/bounds.reference: -------------------------------------------------------------------------------- 1 | 0: doesn't fail 2 | 1: doesn't fail 3 | 2: doesn't fail 4 | 3: fails 5 | 4: fails 6 | -1: fails 7 | Trail: -1 4 3 2 1 0 8 | 9 | All tests succeeded. 10 | -------------------------------------------------------------------------------- /testsuite/tests/basic-more/div_by_zero.reference: -------------------------------------------------------------------------------- 1 | ***** OK ***** 2 | 3 | All tests succeeded. 4 | -------------------------------------------------------------------------------- /testsuite/tests/basic-more/function_in_ref.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | include testing 3 | *) 4 | 5 | let f x = x + 1 6 | let g x = x - 1 7 | 8 | let run () = 9 | let r = ref f in 10 | r := g; 11 | let n = !r 1 in 12 | assert(n = 0) 13 | -------------------------------------------------------------------------------- /testsuite/tests/basic-more/function_in_ref.reference: -------------------------------------------------------------------------------- 1 | 2 | All tests succeeded. 3 | -------------------------------------------------------------------------------- /testsuite/tests/basic-more/if_in_if.reference: -------------------------------------------------------------------------------- 1 | 2 | All tests succeeded. 3 | -------------------------------------------------------------------------------- /testsuite/tests/basic-more/morematch.reference: -------------------------------------------------------------------------------- 1 | 2 | All tests succeeded. 3 | -------------------------------------------------------------------------------- /testsuite/tests/basic-more/opaque_prim.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | include testing 3 | *) 4 | 5 | let f x = Sys.opaque_identity x 6 | 7 | let () = 8 | assert(f f == f); 9 | assert(Sys.opaque_identity 1 = 1); 10 | assert(Sys.opaque_identity 1. = 1.) 11 | -------------------------------------------------------------------------------- /testsuite/tests/basic-more/opaque_prim.reference: -------------------------------------------------------------------------------- 1 | 2 | All tests succeeded. 3 | -------------------------------------------------------------------------------- /testsuite/tests/basic-more/pr1271.reference: -------------------------------------------------------------------------------- 1 | 0 2 | All tests succeeded. 3 | -------------------------------------------------------------------------------- /testsuite/tests/basic-more/pr2719.reference: -------------------------------------------------------------------------------- 1 | Value of test at the beginning : false 2 | Value of test now : false 3 | 4 | All tests succeeded. 5 | -------------------------------------------------------------------------------- /testsuite/tests/basic-more/pr6216.reference: -------------------------------------------------------------------------------- 1 | 2 | All tests succeeded. 3 | -------------------------------------------------------------------------------- /testsuite/tests/basic-more/robustmatch.reference: -------------------------------------------------------------------------------- 1 | 2 | All tests succeeded. 3 | -------------------------------------------------------------------------------- /testsuite/tests/basic-more/structural_constants.reference: -------------------------------------------------------------------------------- 1 | 2 | All tests succeeded. 3 | -------------------------------------------------------------------------------- /testsuite/tests/basic-more/tbuffer.reference: -------------------------------------------------------------------------------- 1 | 0 1 2 | All tests succeeded. 3 | -------------------------------------------------------------------------------- /testsuite/tests/basic-more/top_level_patterns.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | include testing 3 | *) 4 | 5 | type t = 6 | | A of (int * int * int) 7 | | B of int * int 8 | 9 | let (A (a, _, b) | B (b, a)) = A (1, 2, 3) 10 | 11 | let () = print_int a; print_int b 12 | -------------------------------------------------------------------------------- /testsuite/tests/basic-more/top_level_patterns.reference: -------------------------------------------------------------------------------- 1 | 13 2 | All tests succeeded. 3 | -------------------------------------------------------------------------------- /testsuite/tests/basic-more/tprintf.reference: -------------------------------------------------------------------------------- 1 | 0 1 2 3 4 5 2 | All tests succeeded. 3 | -------------------------------------------------------------------------------- /testsuite/tests/basic-multdef/multdef.ml: -------------------------------------------------------------------------------- 1 | let f x = x + 1 2 | external g : string -> int = "caml_int_of_string" 3 | -------------------------------------------------------------------------------- /testsuite/tests/basic-multdef/multdef.mli: -------------------------------------------------------------------------------- 1 | val f : int -> int 2 | val f : int -> int 3 | val g : string -> int 4 | -------------------------------------------------------------------------------- /testsuite/tests/basic-multdef/ocamltests: -------------------------------------------------------------------------------- 1 | usemultdef.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/basic-multdef/usemultdef.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | modules = "multdef.ml" 3 | *) 4 | 5 | let _ = print_int(Multdef.f 1); print_newline(); exit 0 6 | -------------------------------------------------------------------------------- /testsuite/tests/basic-multdef/usemultdef.reference: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /testsuite/tests/basic-private/length.mli: -------------------------------------------------------------------------------- 1 | (* 2 | 3 | A testbed file for private type abbreviation definitions. 4 | 5 | We define a Length module to implement positive integers. 6 | 7 | *) 8 | 9 | type t = private int;; 10 | 11 | val make : int -> t;; 12 | 13 | external from : t -> int = "%identity";; 14 | -------------------------------------------------------------------------------- /testsuite/tests/basic-private/ocamltests: -------------------------------------------------------------------------------- 1 | tlength.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/basic-private/tlength.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/basic-private/tlength.reference -------------------------------------------------------------------------------- /testsuite/tests/basic/arrays.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/basic/arrays.reference -------------------------------------------------------------------------------- /testsuite/tests/basic/bigints.reference: -------------------------------------------------------------------------------- 1 | 1000000000 2 | 10000000000 3 | 100000000000 4 | 1000000000000 5 | 10000000000000 6 | 100000000000000 7 | 1000000000000000 8 | 10000000000000000 9 | 100000000000000000 10 | 1000000000000000000 11 | -------------------------------------------------------------------------------- /testsuite/tests/basic/constprop.reference: -------------------------------------------------------------------------------- 1 | booleans: passed 2 | integers: passed 3 | floats: passed 4 | 32-bit integers: passed 5 | native integers: passed 6 | 64-bit integers: passed 7 | integer conversions: passed 8 | 32-bit integer conversions: passed 9 | native integer conversions: passed 10 | 64-bit integer conversions: passed 11 | -------------------------------------------------------------------------------- /testsuite/tests/basic/eval_order_1.ml: -------------------------------------------------------------------------------- 1 | (* TEST *) 2 | 3 | let f x y = Printf.printf "%d %d\n" x y 4 | 5 | let i = ref 0 6 | let () = f (incr i; !i) !i 7 | -------------------------------------------------------------------------------- /testsuite/tests/basic/eval_order_1.reference: -------------------------------------------------------------------------------- 1 | 1 0 2 | -------------------------------------------------------------------------------- /testsuite/tests/basic/eval_order_2.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/basic/eval_order_2.reference -------------------------------------------------------------------------------- /testsuite/tests/basic/eval_order_3.reference: -------------------------------------------------------------------------------- 1 | 1 0 2 | -------------------------------------------------------------------------------- /testsuite/tests/basic/eval_order_4.reference: -------------------------------------------------------------------------------- 1 | x 2 | first 3 | 10foo 4 | bar 5 | -------------------------------------------------------------------------------- /testsuite/tests/basic/eval_order_6.ml: -------------------------------------------------------------------------------- 1 | (* TEST *) 2 | 3 | type t = 4 | { mutable x : int; 5 | y : int } 6 | 7 | let f { x = c } = 8 | fun () -> c;; 9 | 10 | let r = { x = 10; y = 20 };; 11 | 12 | let h = f r;; 13 | 14 | print_endline (string_of_int (h ()));; 15 | 16 | r.x <- 20;; 17 | 18 | print_endline (string_of_int (h ()));; 19 | 20 | -------------------------------------------------------------------------------- /testsuite/tests/basic/eval_order_6.reference: -------------------------------------------------------------------------------- 1 | 10 2 | 10 3 | -------------------------------------------------------------------------------- /testsuite/tests/basic/float.ml: -------------------------------------------------------------------------------- 1 | (* TEST *) 2 | 3 | Printf.printf "1./.0. = %f\n" (1.0 /. 0.0);; 4 | print_endline "";; -------------------------------------------------------------------------------- /testsuite/tests/basic/float.reference: -------------------------------------------------------------------------------- 1 | 1./.0. = inf 2 | -------------------------------------------------------------------------------- /testsuite/tests/basic/float_physical_equality.ml: -------------------------------------------------------------------------------- 1 | (* TEST *) 2 | 3 | let a = -0. 4 | let b = +0. 5 | 6 | let _ = 7 | assert(not (a == b)) 8 | 9 | let f () = 10 | let a = -0. in 11 | let b = +0. in 12 | assert(not (a == b)) 13 | -------------------------------------------------------------------------------- /testsuite/tests/basic/float_physical_equality.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/basic/float_physical_equality.reference -------------------------------------------------------------------------------- /testsuite/tests/basic/includestruct.reference: -------------------------------------------------------------------------------- 1 | 1, 2 2 | 2, 3 3 | 124, 457 4 | 0 5 | 2 6 | 2 7 | 1 8 | 3 9 | F is called 10 | A 11 | 42 12 | A 13 | 42 14 | foo1 15 | foo1 16 | 1 / 2 / 10 17 | XXX 18 | -------------------------------------------------------------------------------- /testsuite/tests/basic/localexn.ml: -------------------------------------------------------------------------------- 1 | (* TEST *) 2 | 3 | let f (type t) () = 4 | let exception E of t in 5 | (fun x -> E x), (function E _ -> print_endline "OK" | _ -> print_endline "KO") 6 | 7 | let inj1, proj1 = f () 8 | let inj2, proj2 = f () 9 | 10 | let () = proj1 (inj1 42) 11 | let () = proj1 (inj2 42) 12 | -------------------------------------------------------------------------------- /testsuite/tests/basic/localexn.reference: -------------------------------------------------------------------------------- 1 | OK 2 | KO 3 | -------------------------------------------------------------------------------- /testsuite/tests/basic/maps.reference: -------------------------------------------------------------------------------- 1 | Union+concat 2 | 0 AB 3 | 3 X1 4 | 5 X2 5 | Inter 6 | 4 Y 7 | Union+concat (with Map.union) 8 | 0 AB 9 | 3 X1 10 | 5 X2 11 | Update 12 | -------------------------------------------------------------------------------- /testsuite/tests/basic/min_int.reference: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /testsuite/tests/basic/opt_variants.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/basic/opt_variants.reference -------------------------------------------------------------------------------- /testsuite/tests/basic/pr7533.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/basic/pr7533.reference -------------------------------------------------------------------------------- /testsuite/tests/basic/pr7657.reference: -------------------------------------------------------------------------------- 1 | OK 2 | f1 3 | f1 4 | -------------------------------------------------------------------------------- /testsuite/tests/basic/recvalues.reference: -------------------------------------------------------------------------------- 1 | Test 1: passed 2 | Test 2: passed 3 | Test 3: passed 4 | foo 5 | Test 4: passed 6 | -------------------------------------------------------------------------------- /testsuite/tests/basic/stringmatch.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/basic/stringmatch.reference -------------------------------------------------------------------------------- /testsuite/tests/basic/switch_opts.reference: -------------------------------------------------------------------------------- 1 | 16 tests passed 2 | -------------------------------------------------------------------------------- /testsuite/tests/basic/tailcalls.reference: -------------------------------------------------------------------------------- 1 | 10000001 2 | 10000001 3 | 10000001 4 | 11 5 | 11 6 | 10000001 7 | -------------------------------------------------------------------------------- /testsuite/tests/basic/trigraph.ml: -------------------------------------------------------------------------------- 1 | (* TEST *) 2 | 3 | (* PR#6373 *) 4 | 5 | let () = print_string "??'" 6 | ;; 7 | print_endline "";; 8 | -------------------------------------------------------------------------------- /testsuite/tests/basic/trigraph.reference: -------------------------------------------------------------------------------- 1 | ??' -------------------------------------------------------------------------------- /testsuite/tests/basic/zero_divided_by_n.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/basic/zero_divided_by_n.reference -------------------------------------------------------------------------------- /testsuite/tests/callback/ocamltests: -------------------------------------------------------------------------------- 1 | tcallback.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/callback/tcallback.reference: -------------------------------------------------------------------------------- 1 | 7 2 | 7 3 | 7 4 | 7 5 | 7 6 | aaaaa 7 | aaaaa 8 | bbbbb 9 | -------------------------------------------------------------------------------- /testsuite/tests/docstrings/empty.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * bytecode 3 | flags += " -dparsetree " 4 | *) 5 | 6 | type t = Label (**) 7 | (** attached to t *) 8 | 9 | (**) 10 | 11 | (** Empty docstring comments should not generate attributes *) 12 | 13 | type w (**) 14 | -------------------------------------------------------------------------------- /testsuite/tests/docstrings/ocamltests: -------------------------------------------------------------------------------- 1 | empty.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/embedded/cmcaml.reference: -------------------------------------------------------------------------------- 1 | Initializing OCaml code... 2 | Back in C code... 3 | Computing fib(20)... 4 | Result = 10946 5 | -------------------------------------------------------------------------------- /testsuite/tests/embedded/ocamltests: -------------------------------------------------------------------------------- 1 | cmcaml.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/exotic-syntax/exotic.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/exotic-syntax/exotic.reference -------------------------------------------------------------------------------- /testsuite/tests/exotic-syntax/ocamltests: -------------------------------------------------------------------------------- 1 | exotic.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/extension-constructor/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/extension-constructor/test.reference: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /testsuite/tests/flambda/gpr998.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/flambda/gpr998.reference -------------------------------------------------------------------------------- /testsuite/tests/flambda/ocamltests: -------------------------------------------------------------------------------- 1 | gpr998.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/float-unboxing/ocamltests: -------------------------------------------------------------------------------- 1 | float_subst_boxed_number.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/formats-transition/deprecated_unsigned_printers.ocaml.reference: -------------------------------------------------------------------------------- 1 | val test : (int -> string, unit, string) format -> string = 2 | %n: true 3 | %l: true 4 | %N: true 5 | %L: true 6 | 7 | -------------------------------------------------------------------------------- /testsuite/tests/formats-transition/legacy_incompatible_flags.ocaml.reference: -------------------------------------------------------------------------------- 1 | toto 2 | toto 3 | toto 4 | toto 5 | "toto" 6 | toto 7 | 8 | -------------------------------------------------------------------------------- /testsuite/tests/formats-transition/legacy_unfinished_modifiers.ocaml.reference: -------------------------------------------------------------------------------- 1 | 3 2 | 3 3 | 3 4 | 3 5 | 6 | -------------------------------------------------------------------------------- /testsuite/tests/formats-transition/ocamltests: -------------------------------------------------------------------------------- 1 | deprecated_unsigned_printers.ml 2 | ignored_scan_counters.ml 3 | legacy_incompatible_flags.ml 4 | legacy_unfinished_modifiers.ml 5 | -------------------------------------------------------------------------------- /testsuite/tests/formatting/margins.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * toplevel 3 | *) 4 | 5 | let () = Format.pp_set_margin Format.std_formatter 20;; 6 | 7 | 1 + "foo";; 8 | 9 | let () = Format.pp_set_margin Format.std_formatter 80;; 10 | 11 | 1 + "foo";; 12 | -------------------------------------------------------------------------------- /testsuite/tests/formatting/ocamltests: -------------------------------------------------------------------------------- 1 | margins.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/functors/ocamltests: -------------------------------------------------------------------------------- 1 | functors.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/gc-roots/ocamltests: -------------------------------------------------------------------------------- 1 | globroots.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/int64-unboxing/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/int64-unboxing/test.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/int64-unboxing/test.reference -------------------------------------------------------------------------------- /testsuite/tests/lazy/lazy1.reference: -------------------------------------------------------------------------------- 1 | A -------------------------------------------------------------------------------- /testsuite/tests/lazy/ocamltests: -------------------------------------------------------------------------------- 1 | lazy1.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/letrec-disallowed/extension_constructor.ocaml.reference: -------------------------------------------------------------------------------- 1 | module type T = sig exception A of int end 2 | Characters 15-49: 3 | ..let module M = (val m) in 4 | M.A 42 5 | Error: This kind of expression is not allowed as right-hand side of `let rec' 6 | 7 | -------------------------------------------------------------------------------- /testsuite/tests/letrec-disallowed/float_block_allowed.ocaml.reference: -------------------------------------------------------------------------------- 1 | val test : unit = () 2 | 3 | -------------------------------------------------------------------------------- /testsuite/tests/letrec-disallowed/float_block_disallowed.ocaml.reference: -------------------------------------------------------------------------------- 1 | Characters 470-480: 2 | let rec x = [| y; y |] and y = 1. in 3 | ^^^^^^^^^^ 4 | Error: This kind of expression is not allowed as right-hand side of `let rec' 5 | 6 | -------------------------------------------------------------------------------- /testsuite/tests/letrec-disallowed/generic_arrays.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * toplevel 3 | *) 4 | 5 | (* This is not allowed because constructing the generic array 'x' involves 6 | inspecting 'y', which is bound in the same recursive group *) 7 | let f z = let rec x = [| y; z |] and y = z in x;; 8 | -------------------------------------------------------------------------------- /testsuite/tests/letrec-disallowed/generic_arrays.ocaml.reference: -------------------------------------------------------------------------------- 1 | Characters 188-198: 2 | let f z = let rec x = [| y; z |] and y = z in x;; 3 | ^^^^^^^^^^ 4 | Error: This kind of expression is not allowed as right-hand side of `let rec' 5 | 6 | -------------------------------------------------------------------------------- /testsuite/tests/letrec-disallowed/lazy_.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * toplevel 3 | *) 4 | 5 | let rec a = lazy b and b = 3;; 6 | 7 | let rec e = lazy (fun _ -> f) and f = ();; 8 | -------------------------------------------------------------------------------- /testsuite/tests/letrec-disallowed/lazy_.ocaml.reference: -------------------------------------------------------------------------------- 1 | Characters 39-45: 2 | let rec a = lazy b and b = 3;; 3 | ^^^^^^ 4 | Error: This kind of expression is not allowed as right-hand side of `let rec' 5 | val e : ('a -> unit) lazy_t = lazy 6 | val f : unit = () 7 | 8 | -------------------------------------------------------------------------------- /testsuite/tests/letrec-disallowed/ocamltests: -------------------------------------------------------------------------------- 1 | disallowed.ml 2 | extension_constructor.ml 3 | float_block_allowed.ml 4 | float_block_disallowed.ml 5 | generic_arrays.ml 6 | lazy_.ml 7 | module_constraints.ml 8 | pr7215.ml 9 | pr7231.ml 10 | unboxed.ml 11 | -------------------------------------------------------------------------------- /testsuite/tests/letrec-disallowed/pr7231.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * toplevel 3 | *) 4 | 5 | let rec r = let rec x () = r and y () = x () in y () in r "oops";; 6 | -------------------------------------------------------------------------------- /testsuite/tests/letrec/allowed.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/letrec/allowed.reference -------------------------------------------------------------------------------- /testsuite/tests/letrec/backreferences.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/letrec/backreferences.reference -------------------------------------------------------------------------------- /testsuite/tests/letrec/class_1.ml: -------------------------------------------------------------------------------- 1 | (* TEST *) 2 | 3 | (* class expression are compiled to recursive bindings *) 4 | class test = 5 | object 6 | method x = 1 7 | end 8 | -------------------------------------------------------------------------------- /testsuite/tests/letrec/class_1.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/letrec/class_1.reference -------------------------------------------------------------------------------- /testsuite/tests/letrec/class_2.ml: -------------------------------------------------------------------------------- 1 | (* TEST *) 2 | 3 | (* class expressions may also contain local recursive bindings *) 4 | class test = 5 | let rec f = print_endline "f"; fun x -> g x 6 | and g = print_endline "g"; fun x -> f x in 7 | object 8 | method f : 'a 'b. 'a -> 'b = f 9 | method g : 'a 'b. 'a -> 'b = g 10 | end 11 | -------------------------------------------------------------------------------- /testsuite/tests/letrec/class_2.reference: -------------------------------------------------------------------------------- 1 | f 2 | g 3 | -------------------------------------------------------------------------------- /testsuite/tests/letrec/evaluation_order_1.reference: -------------------------------------------------------------------------------- 1 | effect 2 | effect 3 | effect 4 | -------------------------------------------------------------------------------- /testsuite/tests/letrec/evaluation_order_2.reference: -------------------------------------------------------------------------------- 1 | effect 2 | effect 3 | effect 4 | -------------------------------------------------------------------------------- /testsuite/tests/letrec/evaluation_order_3.reference: -------------------------------------------------------------------------------- 1 | x 2 | x_y 3 | x_x 4 | y 5 | y_y 6 | y_x 7 | -------------------------------------------------------------------------------- /testsuite/tests/letrec/float_block_1.reference: -------------------------------------------------------------------------------- 1 | effect 2 | effect 3 | -------------------------------------------------------------------------------- /testsuite/tests/letrec/generic_array.ml: -------------------------------------------------------------------------------- 1 | (* TEST *) 2 | 3 | let rec x = let _y = [| |] in ();; 4 | 5 | let rec x = let y = [| |] in y :: x;; 6 | -------------------------------------------------------------------------------- /testsuite/tests/letrec/generic_array.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/letrec/generic_array.reference -------------------------------------------------------------------------------- /testsuite/tests/letrec/lazy_.ml: -------------------------------------------------------------------------------- 1 | (* TEST *) 2 | 3 | let rec c = lazy (0 + d) and d = 3;; 4 | 5 | let () = Printf.printf "%d\n" (Lazy.force c) 6 | -------------------------------------------------------------------------------- /testsuite/tests/letrec/lazy_.reference: -------------------------------------------------------------------------------- 1 | 3 2 | -------------------------------------------------------------------------------- /testsuite/tests/letrec/lists.ml: -------------------------------------------------------------------------------- 1 | (* TEST *) 2 | 3 | (* a test with lists, because cyclic lists are fun *) 4 | let test = 5 | let rec li = 0::1::2::3::4::5::6::7::8::9::li in 6 | match li with 7 | | 0::1::2::3::4::5::6::7::8::9:: 8 | 0::1::2::3::4::5::6::7::8::9::li' -> 9 | assert (li == li') 10 | | _ -> assert false 11 | -------------------------------------------------------------------------------- /testsuite/tests/letrec/lists.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/letrec/lists.reference -------------------------------------------------------------------------------- /testsuite/tests/letrec/mixing_value_closures_1.ml: -------------------------------------------------------------------------------- 1 | (* TEST *) 2 | 3 | (* mixing values and closures may exercise interesting code paths *) 4 | type t = A of (int -> int) 5 | let test = 6 | let rec x = A f 7 | and f = function 8 | | 0 -> 2 9 | | n -> match x with A g -> g 0 10 | in assert (f 1 = 2) 11 | -------------------------------------------------------------------------------- /testsuite/tests/letrec/mixing_value_closures_1.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/letrec/mixing_value_closures_1.reference -------------------------------------------------------------------------------- /testsuite/tests/letrec/mixing_value_closures_2.ml: -------------------------------------------------------------------------------- 1 | (* TEST *) 2 | 3 | (* a polymorphic variant of test3.ml; found a real bug once *) 4 | let test = 5 | let rec x = `A f 6 | and f = function 7 | | 0 -> 2 8 | | n -> match x with `A g -> g 0 9 | in 10 | assert (f 1 = 2) 11 | -------------------------------------------------------------------------------- /testsuite/tests/letrec/mixing_value_closures_2.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/letrec/mixing_value_closures_2.reference -------------------------------------------------------------------------------- /testsuite/tests/letrec/mutual_functions.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/letrec/mutual_functions.reference -------------------------------------------------------------------------------- /testsuite/tests/letrec/nested.ml: -------------------------------------------------------------------------------- 1 | (* TEST *) 2 | 3 | (* Mantis PR7447 *) 4 | 5 | let rec r = (let rec x = `A r and y = fun () -> x in y) 6 | 7 | let (`A x) = r () 8 | 9 | let _ = x () 10 | -------------------------------------------------------------------------------- /testsuite/tests/letrec/nested.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/letrec/nested.reference -------------------------------------------------------------------------------- /testsuite/tests/letrec/pr4989.ml: -------------------------------------------------------------------------------- 1 | (* TEST *) 2 | 3 | let rec f = let g = f in fun x -> g x;; 4 | -------------------------------------------------------------------------------- /testsuite/tests/letrec/pr4989.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/letrec/pr4989.reference -------------------------------------------------------------------------------- /testsuite/tests/letrec/record_with.reference: -------------------------------------------------------------------------------- 1 | 42 2 | -------------------------------------------------------------------------------- /testsuite/tests/letrec/ref.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/letrec/ref.reference -------------------------------------------------------------------------------- /testsuite/tests/lexing/ocamltests: -------------------------------------------------------------------------------- 1 | uchar_esc.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-arg/ocamltests: -------------------------------------------------------------------------------- 1 | testarg.ml 2 | testerror.ml 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-arg/testarg.reference: -------------------------------------------------------------------------------- 1 | 2 | -foo FOO Do foo with FOO 3 | -bar FOO BAR Do bar with FOO and BAR 4 | -cha Another option 5 | -sym {a|b} 6 | y foo 7 | -sym2 {a|b} 8 | x bar 9 | -help Display this list of options 10 | --help Display this list of options 11 | 12 | -------------------------------------------------------------------------------- /testsuite/tests/lib-bigarray-file/mapfile.reference: -------------------------------------------------------------------------------- 1 | 2 | map_file 3 | 1... 2... 3... 4... 4 | map_file errors 5 | 1... 2... 6 | -------------------------------------------------------------------------------- /testsuite/tests/lib-bigarray-file/ocamltests: -------------------------------------------------------------------------------- 1 | mapfile.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-bigarray/change_layout.reference: -------------------------------------------------------------------------------- 1 | Generic rank test: Ok 2 | Scalar test: Ok 3 | Rank-1 array test: Ok 4 | Rank-2 array test: Ok 5 | Rank-3 array test: Ok 6 | -------------------------------------------------------------------------------- /testsuite/tests/lib-bigarray/fftba.reference: -------------------------------------------------------------------------------- 1 | 16... ok 2 | 32... ok 3 | 64... ok 4 | 128... ok 5 | 256... ok 6 | 512... ok 7 | 1024... ok 8 | 2048... ok 9 | 4096... ok 10 | 8192... ok 11 | 16384... ok 12 | 32768... ok 13 | 65536... ok 14 | -------------------------------------------------------------------------------- /testsuite/tests/lib-bigarray/ocamltests: -------------------------------------------------------------------------------- 1 | bigarrays.ml 2 | change_layout.ml 3 | fftba.ml 4 | pr5115.ml 5 | weak_bigarray.ml 6 | -------------------------------------------------------------------------------- /testsuite/tests/lib-bigarray/pr5115.reference: -------------------------------------------------------------------------------- 1 | ***EXEC*** 2 | ***EXEC*** 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-bigarray/weak_bigarray.reference: -------------------------------------------------------------------------------- 1 | a.(0) = 42.000000 2 | b.(0) = 42.000000 3 | b.(0) = 42.000000 4 | -------------------------------------------------------------------------------- /testsuite/tests/lib-buffer/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-bytes/ocamltests: -------------------------------------------------------------------------------- 1 | test_bytes.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-bytes/test_bytes.reference: -------------------------------------------------------------------------------- 1 | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 | All tests succeeded. 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-digest/md5.reference: -------------------------------------------------------------------------------- 1 | Test vectors passed. 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-digest/ocamltests: -------------------------------------------------------------------------------- 1 | md5.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-bytecode/custom.reference: -------------------------------------------------------------------------------- 1 | This is stub2, calling stub1: 2 | This is stub1! 3 | Ok! 4 | This is stub1! 5 | ABCDEF 6 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-bytecode/main.reference: -------------------------------------------------------------------------------- 1 | Loading plug1.cma 2 | This is stub1! 3 | ABCDEF 4 | Loading plug2.cma 5 | This is stub2, calling stub1: 6 | This is stub1! 7 | Ok! 8 | This is Plug2.f 9 | Result is: 2 10 | This is Plug1.f 11 | Result is: 1 12 | This is Main.f 13 | Result is: 0 14 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-bytecode/plug1.ml: -------------------------------------------------------------------------------- 1 | external stub1: unit -> string = "stub1" 2 | 3 | let f x = print_string "This is Plug1.f\n"; x + 1 4 | 5 | let () = Registry.register f 6 | 7 | let () = print_endline (stub1 ()) 8 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-bytecode/plug2.ml: -------------------------------------------------------------------------------- 1 | external stub2: unit -> unit = "stub2" 2 | 3 | let f x = print_string "This is Plug2.f\n"; x + 2 4 | 5 | let () = Registry.register f 6 | 7 | let () = stub2 () 8 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-bytecode/registry.ml: -------------------------------------------------------------------------------- 1 | let functions = ref ([]: (int -> int) list) 2 | 3 | let register f = 4 | functions := f :: !functions 5 | 6 | let get_functions () = 7 | !functions 8 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-bytecode/static.reference: -------------------------------------------------------------------------------- 1 | This is stub1! 2 | ABCDEF 3 | This is stub2, calling stub1: 4 | This is stub1! 5 | Ok! 6 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-csharp/bytecode.reference: -------------------------------------------------------------------------------- 1 | Now starting the OCaml engine. 2 | Main is running. 3 | Loading ../../../otherlibs/win32unix/unix.cma 4 | Loading ../../../otherlibs/bigarray/bigarray.cma 5 | Loading plugin.cmo 6 | I'm the plugin. 7 | OK. 8 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-csharp/main.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.InteropServices; 2 | 3 | public class M { 4 | [DllImport("main.dll")] 5 | public static extern void start_caml_engine(); 6 | 7 | public static void Main() { 8 | System.Console.WriteLine("Now starting the OCaml engine."); 9 | start_caml_engine(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-csharp/native.reference: -------------------------------------------------------------------------------- 1 | Now starting the OCaml engine. 2 | Main is running. 3 | Loading ../../../otherlibs/win32unix/unix.cmxs 4 | Loading ../../../otherlibs/bigarray/bigarray.cmxs 5 | Loading plugin.cmxs 6 | I'm the plugin. 7 | OK. 8 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-csharp/plugin.ml: -------------------------------------------------------------------------------- 1 | let f x = x.{2} 2 | 3 | let () = 4 | print_endline "I'm the plugin." 5 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-native/a.ml: -------------------------------------------------------------------------------- 1 | let x = ref 0 2 | let u = Random.int 1000 3 | 4 | let () = 5 | Printf.printf "A is running (%i)\n%!" u 6 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-native/b.ml: -------------------------------------------------------------------------------- 1 | let () = 2 | print_endline "B is running"; 3 | incr A.x; 4 | Printf.printf "A.x = %i\n" !A.x 5 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-native/bug.ml: -------------------------------------------------------------------------------- 1 | let () = try raise (Invalid_argument "X") with Invalid_argument s -> 2 | raise (Invalid_argument (s ^ s)) 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-native/c.ml: -------------------------------------------------------------------------------- 1 | let () = 2 | print_endline "C is running"; 3 | incr A.x; 4 | Printf.printf "A.x = %i\n" !A.x 5 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-native/pack_client.ml: -------------------------------------------------------------------------------- 1 | let () = 2 | print_endline Mypack.Packed1.mykey 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-native/packed1.ml: -------------------------------------------------------------------------------- 1 | let () = 2 | Api.reg_mod "Packed1" 3 | 4 | let bla = Sys.argv.(0) ^ "XXX" 5 | let mykey = Sys.argv.(0) 6 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-native/packed1_client.ml: -------------------------------------------------------------------------------- 1 | let () = 2 | Api.reg_mod "Packed1_client"; 3 | print_endline Packed1.mykey 4 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-native/plugin.mli: -------------------------------------------------------------------------------- 1 | val facts: int list 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-native/plugin2.ml: -------------------------------------------------------------------------------- 1 | (*external ex: int -> int = "caml_ex"*) 2 | 3 | let () = 4 | Api.reg_mod "Plugin2"; 5 | Api.add_cb (fun () -> print_endline "Callback from plugin2"); 6 | (* let i = ex 3 in*) 7 | List.iter (fun i -> Printf.printf "%i\n" i) Plugin.facts; 8 | Printf.printf "XXX\n" 9 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-native/plugin4.ml: -------------------------------------------------------------------------------- 1 | let () = 2 | Printf.printf "time = %f\n" (Unix.time ()); 3 | Api.reg_mod "Plugin" 4 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-native/plugin_ext.ml: -------------------------------------------------------------------------------- 1 | external fact: int -> string = "factorial" 2 | 3 | let () = 4 | Api.reg_mod "plugin_ext"; 5 | Printf.printf "fact 10 = %s\n" (fact 10) 6 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-native/plugin_high_arity.ml: -------------------------------------------------------------------------------- 1 | let f x x x x x x x x x x x x x = () 2 | 3 | let g x = f x x x x x x x x 4 | 5 | let () = 6 | Api.reg_mod "HA" 7 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-native/plugin_ref.ml: -------------------------------------------------------------------------------- 1 | let x = ref 0 2 | 3 | let () = 4 | Api.reg_mod "Plugin_ref"; 5 | 6 | Api.add_cb 7 | (fun () -> 8 | Printf.printf "current value for ref = %i\n" !x; 9 | incr x 10 | ) 11 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-native/plugin_simple.ml: -------------------------------------------------------------------------------- 1 | let facts = [ (Random.int 4) ] 2 | 3 | let () = print_endline "COUCOU"; print_char '\n' 4 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-native/sub/api.ml: -------------------------------------------------------------------------------- 1 | let f i = 2 | Printf.printf "Sub/api: f called with %i\n" i; 3 | i + 1 4 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-native/sub/api.mli: -------------------------------------------------------------------------------- 1 | val f : int -> int 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-native/sub/plugin.ml: -------------------------------------------------------------------------------- 1 | let rec fact n = if n = 0 then 1 else n * fact (n - 1) 2 | 3 | let facts = [ fact 1; fact 2; fact 3; fact 4; fact 5 ] 4 | 5 | let () = 6 | Api.reg_mod "Plugin'" 7 | -------------------------------------------------------------------------------- /testsuite/tests/lib-dynlink-native/sub/plugin3.ml: -------------------------------------------------------------------------------- 1 | let () = 2 | ignore (Api.f 10) 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-filename/extension.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/lib-filename/extension.reference -------------------------------------------------------------------------------- /testsuite/tests/lib-filename/ocamltests: -------------------------------------------------------------------------------- 1 | extension.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-format/ocamltests: -------------------------------------------------------------------------------- 1 | pr6824.ml 2 | tformat.ml 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-format/pr6824.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | include testing 3 | *) 4 | 5 | let f = Format.sprintf "[%i]";; 6 | print_endline (f 1);; 7 | print_endline (f 2);; 8 | 9 | let f = Format.asprintf "[%i]";; 10 | print_endline (f 1);; 11 | print_endline (f 2);; 12 | -------------------------------------------------------------------------------- /testsuite/tests/lib-format/pr6824.reference: -------------------------------------------------------------------------------- 1 | [1] 2 | [2] 3 | [1] 4 | [2] 5 | 6 | All tests succeeded. 7 | -------------------------------------------------------------------------------- /testsuite/tests/lib-hashtbl/ocamltests: -------------------------------------------------------------------------------- 1 | hfun.ml 2 | htbl.ml 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-list/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-list/test.reference: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-marshal/ocamltests: -------------------------------------------------------------------------------- 1 | intext.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-obj/ocamltests: -------------------------------------------------------------------------------- 1 | reachable_words.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-obj/reachable_words.reference: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-printf/ocamltests: -------------------------------------------------------------------------------- 1 | pr6534.ml 2 | pr6938.ml 3 | tprintf.ml 4 | -------------------------------------------------------------------------------- /testsuite/tests/lib-printf/pr6534.reference: -------------------------------------------------------------------------------- 1 | 1 [ foo] 2 | 2 [ foo] 3 | 3 [foo ] 4 | 4 [foo ] 5 | 5 [foo ] 6 | 6 [foo ] 7 | 1 [ "foo"] 8 | 2 [ "foo"] 9 | 3 ["foo" ] 10 | 4 ["foo" ] 11 | 5 ["foo" ] 12 | 6 ["foo" ] 13 | 14 | All tests succeeded. 15 | -------------------------------------------------------------------------------- /testsuite/tests/lib-queue/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-queue/test.reference: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-random/ocamltests: -------------------------------------------------------------------------------- 1 | rand.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-random/rand.reference: -------------------------------------------------------------------------------- 1 | PASSED 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-scanf-2/ocamltests: -------------------------------------------------------------------------------- 1 | tscanf2_master.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-scanf-2/reference: -------------------------------------------------------------------------------- 1 | Ping-pong Ping-pong Ping-pong Ping-pong Ping-pong Ping-pong Ping-pong Ping-pong! 2 | Test OK. 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-scanf/ocamltests: -------------------------------------------------------------------------------- 1 | tscanf.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-scanf/tscanf.reference: -------------------------------------------------------------------------------- 1 | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 2 | All tests succeeded. 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-seq/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-seq/test.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | *) 3 | 4 | let filter1 x = x mod 2 = 0 ;; 5 | 6 | (* Standard test case *) 7 | let () = 8 | assert 9 | ([2;4] = 10 | (List.to_seq [1;2;3;4;5] 11 | |> Seq.filter (fun x -> x mod 2 = 0) 12 | |> List.of_seq)); 13 | () 14 | ;; 15 | 16 | let () = print_endline "OK";; 17 | 18 | 19 | -------------------------------------------------------------------------------- /testsuite/tests/lib-seq/test.reference: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-set/ocamltests: -------------------------------------------------------------------------------- 1 | testmap.ml 2 | testset.ml 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-set/testmap.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/lib-set/testmap.reference -------------------------------------------------------------------------------- /testsuite/tests/lib-set/testset.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/lib-set/testset.reference -------------------------------------------------------------------------------- /testsuite/tests/lib-stack/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-stack/test.reference: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-stdlabels/ocamltests: -------------------------------------------------------------------------------- 1 | test_stdlabels.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-stdlabels/test_stdlabels.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/lib-stdlabels/test_stdlabels.reference -------------------------------------------------------------------------------- /testsuite/tests/lib-str/ocamltests: -------------------------------------------------------------------------------- 1 | t01.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-str/t01.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/lib-str/t01.reference -------------------------------------------------------------------------------- /testsuite/tests/lib-stream/count_concat_bug.reference: -------------------------------------------------------------------------------- 1 | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 | All tests succeeded. 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-stream/ocamltests: -------------------------------------------------------------------------------- 1 | count_concat_bug.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-string/ocamltests: -------------------------------------------------------------------------------- 1 | test_string.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-string/test_string.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/lib-string/test_string.reference -------------------------------------------------------------------------------- /testsuite/tests/lib-sys/ocamltests: -------------------------------------------------------------------------------- 1 | rename.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-sys/rename.reference: -------------------------------------------------------------------------------- 1 | Rename to nonexisting file: passed 2 | Rename to existing file: passed 3 | Renaming a nonexisting file: fails as expected 4 | Renaming to a nonexisting directory: fails as expected 5 | -------------------------------------------------------------------------------- /testsuite/tests/lib-systhreads/ocamltests: -------------------------------------------------------------------------------- 1 | testfork.ml 2 | testpreempt.ml 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-systhreads/testfork.reference: -------------------------------------------------------------------------------- 1 | Forking... 2 | In parent... 3 | In child... 4 | Child did minor GC. 5 | Child is exiting. 6 | Parent is exiting. 7 | -------------------------------------------------------------------------------- /testsuite/tests/lib-systhreads/testpreempt.reference: -------------------------------------------------------------------------------- 1 | Interaction 1 2 | Interaction 2 3 | Long computation result: 100000 4 | -------------------------------------------------------------------------------- /testsuite/tests/lib-threads/bank.reference: -------------------------------------------------------------------------------- 1 | Current balance: 100 2 | Final balance: 1 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-threads/beat.reference: -------------------------------------------------------------------------------- 1 | passed 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-threads/bufchan.reference: -------------------------------------------------------------------------------- 1 | 3 2 | un 3 | deux 4 | -------------------------------------------------------------------------------- /testsuite/tests/lib-threads/close.reference: -------------------------------------------------------------------------------- 1 | reading... 2 | closing fd... 3 | read returned 4 | -------------------------------------------------------------------------------- /testsuite/tests/lib-threads/ocamltests: -------------------------------------------------------------------------------- 1 | backtrace_threads.ml 2 | bank.ml 3 | beat.ml 4 | bufchan.ml 5 | close.ml 6 | fileio.ml 7 | pr4466.ml 8 | pr5325.ml 9 | pr7638.ml 10 | prodcons.ml 11 | prodcons2.ml 12 | sieve.ml 13 | signal.ml 14 | sockets.ml 15 | swapchan.ml 16 | tls.ml 17 | torture.ml 18 | -------------------------------------------------------------------------------- /testsuite/tests/lib-threads/pr4466.reference: -------------------------------------------------------------------------------- 1 | Selected 2 | Data read: >>1111 3 | Selected 4 | Data read: >>2222 5 | Selected 6 | Data read: >>3333 7 | -------------------------------------------------------------------------------- /testsuite/tests/lib-threads/pr5325.reference: -------------------------------------------------------------------------------- 1 | >>Client data 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-threads/pr7638.reference: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-threads/prodcons.reference: -------------------------------------------------------------------------------- 1 | passed 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-threads/prodcons2.reference: -------------------------------------------------------------------------------- 1 | passed 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-threads/signal.check-program-output: -------------------------------------------------------------------------------- 1 | if sed -e 1q ${output} | grep -q '^[ab]*Got ctrl-C, exiting$'; 2 | then 3 | exit ${TEST_PASS} 4 | else 5 | exit ${TEST_FAIL}; 6 | fi 7 | -------------------------------------------------------------------------------- /testsuite/tests/lib-threads/signal.run: -------------------------------------------------------------------------------- 1 | ${program} > ${output} & 2 | pid=$! 3 | sleep 2 4 | ./sigint $pid 5 | wait 6 | -------------------------------------------------------------------------------- /testsuite/tests/lib-threads/sockets.reference: -------------------------------------------------------------------------------- 1 | >>Client #1 2 | >>Client #2 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-threads/swapchan.reference: -------------------------------------------------------------------------------- 1 | f G 2 | g F 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-threads/swapchan.run: -------------------------------------------------------------------------------- 1 | ${program} | ${SORT} > ${output} 2>&1 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-threads/tls.reference: -------------------------------------------------------------------------------- 1 | 1 --> un 2 | 2 --> deux 3 | 3 --> trois 4 | 4 --> quatre 5 | 5 --> cinq 6 | -------------------------------------------------------------------------------- /testsuite/tests/lib-threads/tls.run: -------------------------------------------------------------------------------- 1 | ${program} | LC_ALL=C ${SORT} > ${output} 2>&1 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-threads/torture.reference: -------------------------------------------------------------------------------- 1 | passed 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-uchar/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-uchar/test.reference: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/common/cloexec.reference: -------------------------------------------------------------------------------- 1 | #1: open 2 | #2: open 3 | #3: closed 4 | #4: open 5 | #5: open 6 | #6: closed 7 | #7: open 8 | #8: open 9 | #9: open 10 | #10: open 11 | #11: closed 12 | #12: closed 13 | #13: open 14 | #14: open 15 | #15: closed 16 | #16: open 17 | #17: open 18 | #18: open 19 | #19: open 20 | #20: closed 21 | #21: closed 22 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/common/cmdline_prog.ml: -------------------------------------------------------------------------------- 1 | let () = 2 | for i = 1 to (Array.length Sys.argv) - 1 do 3 | Printf.printf "%s\n" Sys.argv.(i) 4 | done 5 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/common/dup.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | include unix 3 | *) 4 | 5 | let _ = 6 | let f = Unix.dup ~cloexec:true Unix.stdout in 7 | let txt = "Some output\n" in 8 | ignore (Unix.write_substring f txt 0 (String.length txt)); 9 | Unix.close f 10 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/common/dup.reference: -------------------------------------------------------------------------------- 1 | Some output 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/common/dup2.reference: -------------------------------------------------------------------------------- 1 | --- 2 | Some output 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/common/fdstatus_main.ml: -------------------------------------------------------------------------------- 1 | external process_fd : int -> string -> unit = "caml_process_fd" 2 | 3 | let () = 4 | for i = 1 to (Array.length Sys.argv) -1 5 | do 6 | process_fd i Sys.argv.(i); 7 | done 8 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/common/ocamltests: -------------------------------------------------------------------------------- 1 | cloexec.ml 2 | dup2.ml 3 | dup.ml 4 | pipe_eof.ml 5 | redirections.ml 6 | rename.ml 7 | test_unix_cmdline.ml 8 | utimes.ml 9 | wait_nohang.ml 10 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/common/pipe_eof.reference: -------------------------------------------------------------------------------- 1 | success 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/common/rename.reference: -------------------------------------------------------------------------------- 1 | Rename to nonexisting file: passed 2 | Rename to existing file: passed 3 | Renaming a nonexisting file: fails as expected 4 | Renaming to a nonexisting directory: fails as expected 5 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/common/utimes.reference: -------------------------------------------------------------------------------- 1 | tm ~ tm' (true) 2 | tm ~ tm' (true) 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/common/utimes.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/lib-unix/common/utimes.txt -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/common/wait_nohang.reference: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/isatty/isatty_std.reference: -------------------------------------------------------------------------------- 1 | Unix.isatty Unix.stdin = false 2 | Unix.isatty Unix.stdout = false 3 | Unix.isatty Unix.stderr = false 4 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/isatty/isatty_tty.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | 3 | * libwin32unix 4 | include unix 5 | ** bytecode 6 | ** native 7 | 8 | *) 9 | 10 | let console = 11 | try 12 | Unix.(openfile "/dev/tty" [O_RDWR] 0) 13 | with _ -> 14 | Unix.(openfile "CONIN$" [O_RDWR] 0) 15 | in 16 | Printf.printf "/dev/tty = %b\n" (Unix.isatty console) 17 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/isatty/isatty_tty.reference: -------------------------------------------------------------------------------- 1 | /dev/tty = true 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/isatty/ocamltests: -------------------------------------------------------------------------------- 1 | isatty_std.ml 2 | isatty_tty.ml 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/unix-execvpe/ocamltests: -------------------------------------------------------------------------------- 1 | exec.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/unix-execvpe/script3: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "--- ./script3" 3 | echo "FOO is $FOO, BAR is $BAR, BUZ is $BUZ" 4 | echo "$# arguments: $*" 5 | 6 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/unix-execvpe/subdir/nonexec: -------------------------------------------------------------------------------- 1 | echo "This script lacks the x bit and should not run!" 2 | 3 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/unix-execvpe/subdir/script1: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "--- subdir/script1" 3 | echo "FOO is $FOO, BAR is $BAR, BUZ is $BUZ" 4 | echo "$# arguments: $*" 5 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/unix-execvpe/subdir/script2: -------------------------------------------------------------------------------- 1 | echo "--- subdir/script2" 2 | echo "FOO is $FOO, BAR is $BAR, BUZ is $BUZ" 3 | echo "$# arguments: $*" 4 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/win-env/ocamltests: -------------------------------------------------------------------------------- 1 | test_env.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/win-env/test_env.reference: -------------------------------------------------------------------------------- 1 | Sys.getenv FOO -> Some "BAR" 2 | Unix.environment FOO -> Some "BAR" 3 | Sys.getenv FOO2 -> Some "BAR2" 4 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/win-stat/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/win-stat/test.reference: -------------------------------------------------------------------------------- 1 | System clock: 2017/06/01 20:33 2 | Read mtime for dst-file = 2017/07/01 12:00:00 3 | Read mtime for non-dst-file = 2017/02/01 12:00:00 4 | System clock: 2017/02/01 20:33 5 | Read mtime for dst-file = 2017/07/01 12:00:00 6 | Read mtime for non-dst-file = 2017/02/01 12:00:00 7 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/win-stat/test.run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | TZ=utc touch -m -t 201707011200 dst-file 3 | TZ=utc touch -m -t 201702011200 non-dst-file 4 | `cygpath -m "${program}"` > `cygpath -m "${output}"` 2>&1 5 | -------------------------------------------------------------------------------- /testsuite/tests/lib-unix/win-symlink/test.reference: -------------------------------------------------------------------------------- 1 | Unix.symlink works with backwards slashes 2 | Unix.symlink works with forward slashes 3 | -------------------------------------------------------------------------------- /testsuite/tests/link-test/aliases.ml: -------------------------------------------------------------------------------- 1 | module Submodule = Submodule 2 | -------------------------------------------------------------------------------- /testsuite/tests/link-test/external.ml: -------------------------------------------------------------------------------- 1 | let () = print_endline "linked external"; flush stdout 2 | external frexp : float -> float * int = "caml_frexp_float" 3 | -------------------------------------------------------------------------------- /testsuite/tests/link-test/external.mli: -------------------------------------------------------------------------------- 1 | external frexp : float -> float * int = "caml_frexp_float" 2 | -------------------------------------------------------------------------------- /testsuite/tests/link-test/external_for_pack.ml: -------------------------------------------------------------------------------- 1 | let () = print_endline "linked external from pack"; flush stdout 2 | external frexp : float -> float * int = "caml_frexp_float" 3 | -------------------------------------------------------------------------------- /testsuite/tests/link-test/external_for_pack.mli: -------------------------------------------------------------------------------- 1 | external frexp : float -> float * int = "caml_frexp_float" 2 | -------------------------------------------------------------------------------- /testsuite/tests/link-test/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/link-test/submodule.ml: -------------------------------------------------------------------------------- 1 | let () = print_endline "linked"; flush stdout 2 | module M = struct end 3 | -------------------------------------------------------------------------------- /testsuite/tests/link-test/test.reference: -------------------------------------------------------------------------------- 1 | linked 2 | linked external 3 | linked external from pack 4 | -------------------------------------------------------------------------------- /testsuite/tests/link-test/use_in_pack.ml: -------------------------------------------------------------------------------- 1 | let _, _ = External_for_pack.frexp 12. 2 | -------------------------------------------------------------------------------- /testsuite/tests/manual-intf-c/ocamltests: -------------------------------------------------------------------------------- 1 | prog.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/manual-intf-c/prog2.reference: -------------------------------------------------------------------------------- 1 | File "curses_stubs.c", line 1: 2 | Error: Required module `Curses' is unavailable 3 | -------------------------------------------------------------------------------- /testsuite/tests/match-exception-warnings/ocamltests: -------------------------------------------------------------------------------- 1 | exhaustiveness_warnings.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/match-exception/allocation.reference: -------------------------------------------------------------------------------- 1 | no allocations for multiple-value match 2 | -------------------------------------------------------------------------------- /testsuite/tests/match-exception/exception_propagation.reference: -------------------------------------------------------------------------------- 1 | caught expected exception (Not_found) 2 | -------------------------------------------------------------------------------- /testsuite/tests/match-exception/match_failure.reference: -------------------------------------------------------------------------------- 1 | match failure, as expected 2 | -------------------------------------------------------------------------------- /testsuite/tests/match-exception/nested_handlers.reference: -------------------------------------------------------------------------------- 1 | five four three two one 2 | -------------------------------------------------------------------------------- /testsuite/tests/match-exception/ocamltests: -------------------------------------------------------------------------------- 1 | allocation.ml 2 | exception_propagation.ml 3 | match_failure.ml 4 | nested_handlers.ml 5 | raise_from_success_continuation.ml 6 | streams.ml 7 | tail_calls.ml 8 | -------------------------------------------------------------------------------- /testsuite/tests/match-exception/raise_from_success_continuation.reference: -------------------------------------------------------------------------------- 1 | test raise from val handler 2 | raise from val handler succeeded 3 | -------------------------------------------------------------------------------- /testsuite/tests/match-exception/streams.reference: -------------------------------------------------------------------------------- 1 | iter_stream with handler case (match) is tail recursive 2 | -------------------------------------------------------------------------------- /testsuite/tests/match-exception/tail_calls.reference: -------------------------------------------------------------------------------- 1 | handler-case (match) is tail recursive 2 | -------------------------------------------------------------------------------- /testsuite/tests/messages/ocamltests: -------------------------------------------------------------------------------- 1 | precise_locations.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/misc-kb/ocamltests: -------------------------------------------------------------------------------- 1 | kbmain.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/misc-unsafe/almabench.reference: -------------------------------------------------------------------------------- 1 | 0 17.00 -26.06 2 | 1 12.34 1.29 3 | 2 6.83 22.95 4 | 3 0.04 -1.26 5 | 4 2.30 12.54 6 | 5 2.93 14.35 7 | 6 21.27 -16.57 8 | 7 20.41 -19.04 9 | -------------------------------------------------------------------------------- /testsuite/tests/misc-unsafe/fft.reference: -------------------------------------------------------------------------------- 1 | 16... ok 2 | 32... ok 3 | 64... ok 4 | 128... ok 5 | 256... ok 6 | 512... ok 7 | 1024... ok 8 | 2048... ok 9 | 4096... ok 10 | 8192... ok 11 | 16384... ok 12 | 32768... ok 13 | 65536... ok 14 | 131072... ok 15 | 262144... ok 16 | -------------------------------------------------------------------------------- /testsuite/tests/misc-unsafe/ocamltests: -------------------------------------------------------------------------------- 1 | almabench.ml 2 | fft.ml 3 | quicksort.ml 4 | soli.ml 5 | -------------------------------------------------------------------------------- /testsuite/tests/misc-unsafe/quicksort.reference: -------------------------------------------------------------------------------- 1 | OK 2 | OK 3 | -------------------------------------------------------------------------------- /testsuite/tests/misc/bdd.reference: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /testsuite/tests/misc/boyer.reference: -------------------------------------------------------------------------------- 1 | Proved! 2 | -------------------------------------------------------------------------------- /testsuite/tests/misc/ephetest2.reference: -------------------------------------------------------------------------------- 1 | test0 check: OK 2 | test1 check: OK 3 | test2 check: OK 4 | test3 check: OK 5 | test4 check: OK 6 | -------------------------------------------------------------------------------- /testsuite/tests/misc/fib.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | *) 3 | 4 | let rec fib n = 5 | if n < 2 then 1 else fib(n-1) + fib(n-2) 6 | 7 | let _ = 8 | let n = 9 | if Array.length Sys.argv >= 2 10 | then int_of_string Sys.argv.(1) 11 | else 30 in 12 | print_int(fib n); print_newline(); exit 0 13 | -------------------------------------------------------------------------------- /testsuite/tests/misc/fib.reference: -------------------------------------------------------------------------------- 1 | 1346269 2 | -------------------------------------------------------------------------------- /testsuite/tests/misc/finaliser.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/misc/finaliser.reference -------------------------------------------------------------------------------- /testsuite/tests/misc/gcwords.reference: -------------------------------------------------------------------------------- 1 | ok 2 | -------------------------------------------------------------------------------- /testsuite/tests/misc/gpr1370.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/misc/gpr1370.reference -------------------------------------------------------------------------------- /testsuite/tests/misc/nucleic.reference: -------------------------------------------------------------------------------- 1 | 33.7976 2 | -------------------------------------------------------------------------------- /testsuite/tests/misc/ocamltests: -------------------------------------------------------------------------------- 1 | bdd.ml 2 | boyer.ml 3 | ephetest.ml 4 | ephetest2.ml 5 | ephetest3.ml 6 | fib.ml 7 | finaliser.ml 8 | gcwords.ml 9 | gpr1370.ml 10 | hamming.ml 11 | nucleic.ml 12 | pr7168.ml 13 | sieve.ml 14 | sorts.ml 15 | takc.ml 16 | taku.ml 17 | weaklifetime.ml 18 | weaklifetime2.ml 19 | weaktest.ml 20 | -------------------------------------------------------------------------------- /testsuite/tests/misc/pr7168.reference: -------------------------------------------------------------------------------- 1 | OK 2 | -------------------------------------------------------------------------------- /testsuite/tests/misc/takc.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | *) 3 | 4 | let rec tak x y z = 5 | if x > y then tak (tak (x-1) y z) (tak (y-1) z x) (tak (z-1) x y) 6 | else z 7 | 8 | let rec repeat n = 9 | if n <= 0 then 0 else tak 18 12 6 + repeat(n-1) 10 | 11 | let _ = print_int (repeat 200); print_newline(); exit 0 12 | -------------------------------------------------------------------------------- /testsuite/tests/misc/takc.reference: -------------------------------------------------------------------------------- 1 | 1400 2 | -------------------------------------------------------------------------------- /testsuite/tests/misc/taku.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | *) 3 | 4 | let rec tak (x, y, z) = 5 | if x > y then tak(tak (x-1, y, z), tak (y-1, z, x), tak (z-1, x, y)) 6 | else z 7 | 8 | let rec repeat n = 9 | if n <= 0 then 0 else tak(18,12,6) + repeat(n-1) 10 | 11 | let _ = print_int (repeat 200); print_newline(); exit 0 12 | -------------------------------------------------------------------------------- /testsuite/tests/misc/taku.reference: -------------------------------------------------------------------------------- 1 | 1400 2 | -------------------------------------------------------------------------------- /testsuite/tests/misc/weaklifetime.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/misc/weaklifetime.reference -------------------------------------------------------------------------------- /testsuite/tests/misc/weaklifetime2.reference: -------------------------------------------------------------------------------- 1 | success 2 | success 3 | -------------------------------------------------------------------------------- /testsuite/tests/misc/weaktest.reference: -------------------------------------------------------------------------------- 1 | pass 2 | -------------------------------------------------------------------------------- /testsuite/tests/no-alias-deps/aliases.ml: -------------------------------------------------------------------------------- 1 | module A' = A (* missing a.cmi *) 2 | module B' = B (* broken b.cmi *) 3 | module C' = C (* valid c.cmi *) 4 | module D' = D (* valid d.cmi *) 5 | let () = print_int D'.something 6 | -------------------------------------------------------------------------------- /testsuite/tests/no-alias-deps/aliases.ml.reference: -------------------------------------------------------------------------------- 1 | File "aliases.ml", line 1, characters 12-13: 2 | Warning 49: no cmi file was found in path for module A 3 | File "aliases.ml", line 2, characters 12-13: 4 | Warning 49: no valid cmi file was found in path for module B. b.cmi 5 | is not a compiled interface 6 | -------------------------------------------------------------------------------- /testsuite/tests/no-alias-deps/b.cmi.pre: -------------------------------------------------------------------------------- 1 | Not a valid cmi file 2 | -------------------------------------------------------------------------------- /testsuite/tests/no-alias-deps/c.mli: -------------------------------------------------------------------------------- 1 | val something : int 2 | -------------------------------------------------------------------------------- /testsuite/tests/no-alias-deps/d.mli: -------------------------------------------------------------------------------- 1 | val something : int 2 | -------------------------------------------------------------------------------- /testsuite/tests/opaque/fst/opaque_impl.ml: -------------------------------------------------------------------------------- 1 | 2 | let choose x y = x 3 | -------------------------------------------------------------------------------- /testsuite/tests/opaque/fst/opaque_intf.ml: -------------------------------------------------------------------------------- 1 | 2 | let choose x y = x 3 | -------------------------------------------------------------------------------- /testsuite/tests/opaque/fst/regular.ml: -------------------------------------------------------------------------------- 1 | 2 | let choose x y = x 3 | -------------------------------------------------------------------------------- /testsuite/tests/opaque/intf/opaque_impl.mli: -------------------------------------------------------------------------------- 1 | 2 | val choose : 'a -> 'a -> 'a 3 | -------------------------------------------------------------------------------- /testsuite/tests/opaque/intf/opaque_intf.mli: -------------------------------------------------------------------------------- 1 | 2 | val choose : 'a -> 'a -> 'a 3 | -------------------------------------------------------------------------------- /testsuite/tests/opaque/intf/regular.mli: -------------------------------------------------------------------------------- 1 | 2 | val choose : 'a -> 'a -> 'a 3 | -------------------------------------------------------------------------------- /testsuite/tests/opaque/snd/opaque_impl.ml: -------------------------------------------------------------------------------- 1 | 2 | let choose x y = y 3 | -------------------------------------------------------------------------------- /testsuite/tests/opaque/snd/opaque_intf.ml: -------------------------------------------------------------------------------- 1 | 2 | let choose x y = y 3 | -------------------------------------------------------------------------------- /testsuite/tests/opaque/snd/regular.ml: -------------------------------------------------------------------------------- 1 | 2 | let choose x y = y 3 | -------------------------------------------------------------------------------- /testsuite/tests/opaque/test.ml: -------------------------------------------------------------------------------- 1 | 2 | let () = 3 | print_endline (Opaque_intf.choose "Opaque_intf: First" "Opaque_intf: Second") 4 | 5 | let () = 6 | print_endline (Opaque_impl.choose "Opaque_impl: First" "Opaque_impl: Second") 7 | 8 | let () = 9 | print_endline (Regular.choose "Regular: First" "Regular: Second") 10 | -------------------------------------------------------------------------------- /testsuite/tests/output_obj/test.ml: -------------------------------------------------------------------------------- 1 | let () = Printf.printf "Test!!\n%!" 2 | -------------------------------------------------------------------------------- /testsuite/tests/output_obj/test.ml_stub.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | int main(int argc, char ** argv){ 7 | 8 | caml_startup(argv); 9 | return 0; 10 | } 11 | -------------------------------------------------------------------------------- /testsuite/tests/parsetree/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/parsetree/test.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/parsetree/test.reference -------------------------------------------------------------------------------- /testsuite/tests/parsing/ocamltests: -------------------------------------------------------------------------------- 1 | attributes.ml 2 | docstrings.ml 3 | extended_indexoperators.ml 4 | extensions.ml 5 | int_and_float_with_modifier.ml 6 | pr6604_2.ml 7 | pr6604_3.ml 8 | pr6604.ml 9 | pr6865.ml 10 | pr7165.ml 11 | shortcut_ext_attr.ml 12 | -------------------------------------------------------------------------------- /testsuite/tests/parsing/pr6604.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr6604.ml", line 9, characters 0-1: 2 | Error: Syntax error 3 | -------------------------------------------------------------------------------- /testsuite/tests/parsing/pr6604.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = "-dparsetree" 3 | ocamlc_byte_exit_status = "2" 4 | * setup-ocamlc.byte-build-env 5 | ** ocamlc.byte 6 | *** check-ocamlc.byte-output 7 | *) 8 | 9 | #1 10 | -------------------------------------------------------------------------------- /testsuite/tests/parsing/pr6604_2.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr6604_2.ml", line 9, characters 1-2: 2 | Error: Syntax error 3 | -------------------------------------------------------------------------------- /testsuite/tests/parsing/pr6604_2.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = "-dparsetree" 3 | ocamlc_byte_exit_status = "2" 4 | * setup-ocamlc.byte-build-env 5 | ** ocamlc.byte 6 | *** check-ocamlc.byte-output 7 | *) 8 | 9 | #1 "pr6604.ml" 10 | -------------------------------------------------------------------------------- /testsuite/tests/parsing/pr6604_3.compilers.reference: -------------------------------------------------------------------------------- 1 | [] 2 | 3 | -------------------------------------------------------------------------------- /testsuite/tests/parsing/pr6604_3.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = "-dparsetree" 3 | * setup-ocamlc.byte-build-env 4 | ** ocamlc.byte 5 | *** check-ocamlc.byte-output 6 | *) 7 | 8 | # 1 "pr6604.ml" 9 | 10 | # 3 "pr6604.ml" 11 | # 4 "pr6604.ml" 12 | -------------------------------------------------------------------------------- /testsuite/tests/parsing/pr6865.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = "-dparsetree" 3 | ocamlc_byte_exit_status = "2" 4 | * setup-ocamlc.byte-build-env 5 | ** ocamlc.byte 6 | *** check-ocamlc.byte-output 7 | *) 8 | 9 | let%foo x = 42 10 | let%foo _ = () and _ = () 11 | let%foo _ = () 12 | -------------------------------------------------------------------------------- /testsuite/tests/parsing/pr7165.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr7165.ml", line 12, characters 1-23: 2 | Error: Invalid lexer directive "#9342101923012312312 \"\"": line number out of range 3 | -------------------------------------------------------------------------------- /testsuite/tests/ppx-attributes/ocamltests: -------------------------------------------------------------------------------- 1 | warning.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/ppx-attributes/warning.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/ppx-attributes/warning.reference -------------------------------------------------------------------------------- /testsuite/tests/ppx-contexts/myppx.ml: -------------------------------------------------------------------------------- 1 | (* A simple PPX *) 2 | 3 | open Ast_mapper 4 | 5 | let () = 6 | register "test" (fun _ -> 7 | Printf.eprintf "use_threads=%b\n" !Clflags.use_threads; 8 | Printf.eprintf "use_vmthreads=%b\n" !Clflags.use_vmthreads; 9 | default_mapper); 10 | 11 | -------------------------------------------------------------------------------- /testsuite/tests/ppx-contexts/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/ppx-contexts/test.compilers.reference: -------------------------------------------------------------------------------- 1 | use_threads=true 2 | use_vmthreads=false 3 | use_threads=false 4 | use_vmthreads=true 5 | -------------------------------------------------------------------------------- /testsuite/tests/prim-bigstring/bigstring_access.reference: -------------------------------------------------------------------------------- 1 | 1234 12 0 2 | fedc fe 0 3 | 12345678 123456 1234 4 | fedcba09 fedcba fedc 5 | 1234567890abcdef 1234567890abcd 1234567890ab 6 | fedcba0987654321 fedcba09876543 fedcba098765 7 | -------------------------------------------------------------------------------- /testsuite/tests/prim-bigstring/ocamltests: -------------------------------------------------------------------------------- 1 | bigstring_access.ml 2 | string_access.ml 3 | -------------------------------------------------------------------------------- /testsuite/tests/prim-bigstring/string_access.reference: -------------------------------------------------------------------------------- 1 | 1234 12 0 2 | fedc fe 0 3 | 12345678 123456 1234 4 | fedcba09 fedcba fedc 5 | 1234567890abcdef 1234567890abcd 1234567890ab 6 | fedcba0987654321 fedcba09876543 fedcba098765 7 | -------------------------------------------------------------------------------- /testsuite/tests/prim-bswap/bswap.reference: -------------------------------------------------------------------------------- 1 | 4433 2 | f0f0 3 | 44332211 4 | f0f0f0f0 5 | 8877665544332211 6 | f0f0f0f0f0f0f0f0 7 | -------------------------------------------------------------------------------- /testsuite/tests/prim-bswap/ocamltests: -------------------------------------------------------------------------------- 1 | bswap.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/prim-revapply/apply.reference: -------------------------------------------------------------------------------- 1 | 6 2 | 36 3 | 18 4 | 37 5 | 260 6 | 6 7 | 36 8 | 18 9 | 37 10 | 260 11 | -------------------------------------------------------------------------------- /testsuite/tests/prim-revapply/ocamltests: -------------------------------------------------------------------------------- 1 | apply.ml 2 | revapply.ml 3 | -------------------------------------------------------------------------------- /testsuite/tests/prim-revapply/revapply.reference: -------------------------------------------------------------------------------- 1 | 6 2 | 36 3 | 18 4 | 37 5 | 260 6 | -------------------------------------------------------------------------------- /testsuite/tests/printing-types/ocamltests: -------------------------------------------------------------------------------- 1 | pr248.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/printing-types/pr248.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * toplevel 3 | *) 4 | 5 | (** Test that weak variables keep their names long enough *) 6 | 7 | let f y = fun x -> x 8 | let blah = f 0 9 | let splash () = blah (failwith "coucou") 10 | let blurp = f 0;; 11 | 12 | blah 1;; 13 | 14 | let g = f ();; 15 | 16 | g (fun x -> x);; 17 | let h = g (f ());; 18 | -------------------------------------------------------------------------------- /testsuite/tests/printing-types/pr248.ocaml.reference: -------------------------------------------------------------------------------- 1 | val f : 'a -> 'b -> 'b = 2 | val blah : '_weak1 -> '_weak1 = 3 | val splash : unit -> '_weak1 = 4 | val blurp : '_weak2 -> '_weak2 = 5 | - : int = 1 6 | val g : '_weak3 -> '_weak3 = 7 | - : '_weak4 -> '_weak4 = 8 | val h : '_weak4 -> '_weak4 = 9 | 10 | -------------------------------------------------------------------------------- /testsuite/tests/raise-counts/a.ml: -------------------------------------------------------------------------------- 1 | let _unused _ = try () with _ -> () 2 | 3 | let trigger_bug x = 4 | let ok = 5 | match x with 6 | | None 7 | | Some "" -> true 8 | | Some _ -> false 9 | in 10 | if x = Some "" && not ok then 11 | failwith "impossible" 12 | [@@inline always] 13 | -------------------------------------------------------------------------------- /testsuite/tests/raise-counts/b.ml: -------------------------------------------------------------------------------- 1 | let bug x = A.trigger_bug x 2 | -------------------------------------------------------------------------------- /testsuite/tests/raise-counts/main.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | modules = "a.ml b.ml" 3 | *) 4 | 5 | (* PR#7702 *) 6 | 7 | let () = 8 | B.bug (Some ""); 9 | print_endline "OK." 10 | -------------------------------------------------------------------------------- /testsuite/tests/raise-counts/main.reference: -------------------------------------------------------------------------------- 1 | OK. 2 | -------------------------------------------------------------------------------- /testsuite/tests/raise-counts/ocamltests: -------------------------------------------------------------------------------- 1 | main.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/regression/missing_set_of_closures/a.ml: -------------------------------------------------------------------------------- 1 | module type Ret = sig 2 | val g : int -> int -> int 3 | end 4 | 5 | module F() : Ret = struct 6 | let n = Sys.opaque_identity 42 7 | let rec f = ((fun x -> x + n) [@inline never]) 8 | and g = ((fun x -> f) [@inline]) 9 | end [@@inline never] 10 | -------------------------------------------------------------------------------- /testsuite/tests/regression/missing_set_of_closures/b.ml: -------------------------------------------------------------------------------- 1 | 2 | let g = 3 | let module X = A.F() in 4 | X.g 5 | -------------------------------------------------------------------------------- /testsuite/tests/regression/missing_set_of_closures/b2.ml: -------------------------------------------------------------------------------- 1 | 2 | let f = B.g 3 3 | -------------------------------------------------------------------------------- /testsuite/tests/regression/missing_set_of_closures/dir/c.ml: -------------------------------------------------------------------------------- 1 | 2 | let f = B2.f 3 | -------------------------------------------------------------------------------- /testsuite/tests/regression/missing_set_of_closures/ocamltests: -------------------------------------------------------------------------------- 1 | missing_set_of_closures.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/regression/pr3612/ocamltests: -------------------------------------------------------------------------------- 1 | pr3612.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/regression/pr3612/pr3612.reference: -------------------------------------------------------------------------------- 1 | -1 2 | -------------------------------------------------------------------------------- /testsuite/tests/regression/pr5233/ocamltests: -------------------------------------------------------------------------------- 1 | pr5233.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/regression/pr5233/pr5233.reference: -------------------------------------------------------------------------------- 1 | checking... value found / testing... ok 2 | checking... no value 3 | -------------------------------------------------------------------------------- /testsuite/tests/regression/pr5757/ocamltests: -------------------------------------------------------------------------------- 1 | pr5757.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/regression/pr5757/pr5757.ml: -------------------------------------------------------------------------------- 1 | (* TEST *) 2 | 3 | Random.init 3;; 4 | for i = 0 to 100_000 do 5 | ignore (Bytes.create (Random.int 1_000_000)) 6 | done;; 7 | Printf.printf "hello world\n";; 8 | -------------------------------------------------------------------------------- /testsuite/tests/regression/pr5757/pr5757.reference: -------------------------------------------------------------------------------- 1 | hello world 2 | -------------------------------------------------------------------------------- /testsuite/tests/regression/pr6024/ocamltests: -------------------------------------------------------------------------------- 1 | pr6024.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/regression/pr6024/pr6024.ml: -------------------------------------------------------------------------------- 1 | (* TEST *) 2 | 3 | Format.printf "@[%@-@@-@]@.";; 4 | -------------------------------------------------------------------------------- /testsuite/tests/regression/pr6024/pr6024.reference: -------------------------------------------------------------------------------- 1 | @-@- 2 | -------------------------------------------------------------------------------- /testsuite/tests/regression/pr7042/ocamltests: -------------------------------------------------------------------------------- 1 | pr7042.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/regression/pr7042/pr7042.ml: -------------------------------------------------------------------------------- 1 | (* TEST *) 2 | 3 | let _ = 4 | let a = [| 0.0; -. 0.0 |] in 5 | Printf.printf "%Lx %Lx\n" 6 | (Int64.bits_of_float a.(0)) (Int64.bits_of_float a.(1)) 7 | -------------------------------------------------------------------------------- /testsuite/tests/regression/pr7042/pr7042.reference: -------------------------------------------------------------------------------- 1 | 0 8000000000000000 2 | -------------------------------------------------------------------------------- /testsuite/tests/regression/pr7426/ocamltests: -------------------------------------------------------------------------------- 1 | pr7426.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/regression/pr7426/pr7426.ml: -------------------------------------------------------------------------------- 1 | (* TEST *) 2 | 3 | class some_class = object val some_val = 0.0 end 4 | -------------------------------------------------------------------------------- /testsuite/tests/regression/pr7426/pr7426.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/regression/pr7426/pr7426.reference -------------------------------------------------------------------------------- /testsuite/tests/required-external/file.ml: -------------------------------------------------------------------------------- 1 | external getcwd : unit -> string = "caml_sys_getcwd" 2 | 3 | let f () = () 4 | 5 | let () = 6 | print_endline "Module `File' is linked"; 7 | flush stdout 8 | -------------------------------------------------------------------------------- /testsuite/tests/required-external/main.reference: -------------------------------------------------------------------------------- 1 | Module `File' is linked 2 | -------------------------------------------------------------------------------- /testsuite/tests/required-external/ocamltests: -------------------------------------------------------------------------------- 1 | main.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/runtime-C-exceptions/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/runtime-C-exceptions/test.reference: -------------------------------------------------------------------------------- 1 | foo 2 | bar 3 | -------------------------------------------------------------------------------- /testsuite/tests/runtime-errors/stackoverflow.bytecode.reference: -------------------------------------------------------------------------------- 1 | x = 20000 2 | x = 10000 3 | x = 0 4 | Stack overflow caught 5 | x = 20000 6 | x = 10000 7 | x = 0 8 | second Stack overflow caught 9 | -------------------------------------------------------------------------------- /testsuite/tests/runtime-errors/stackoverflow.native.reference: -------------------------------------------------------------------------------- 1 | x = 20000 2 | x = 10000 3 | x = 0 4 | Stack overflow caught 5 | x = 20000 6 | x = 10000 7 | x = 0 8 | second Stack overflow caught 9 | -------------------------------------------------------------------------------- /testsuite/tests/runtime-errors/syserror.bytecode.reference: -------------------------------------------------------------------------------- 1 | Fatal error: exception Sys_error("titi:/toto: No such file or directory") 2 | -------------------------------------------------------------------------------- /testsuite/tests/runtime-errors/syserror.ml: -------------------------------------------------------------------------------- 1 | let channel = open_out "titi:/toto" 2 | -------------------------------------------------------------------------------- /testsuite/tests/runtime-errors/syserror.native.reference: -------------------------------------------------------------------------------- 1 | Fatal error: exception Sys_error("titi:/toto: No such file or directory") 2 | -------------------------------------------------------------------------------- /testsuite/tests/self-contained-toplevel/foo.ml: -------------------------------------------------------------------------------- 1 | let value = "Hello, world!" 2 | -------------------------------------------------------------------------------- /testsuite/tests/self-contained-toplevel/gen_cached_cmi.ml: -------------------------------------------------------------------------------- 1 | let () = 2 | let cmi = Cmi_format.read_cmi "foo.cmi" in 3 | let data = Marshal.to_string cmi [] in 4 | Printf.printf "let foo = %S\n" data 5 | -------------------------------------------------------------------------------- /testsuite/tests/self-contained-toplevel/input.ml: -------------------------------------------------------------------------------- 1 | print_endline Foo.value;; 2 | -------------------------------------------------------------------------------- /testsuite/tests/self-contained-toplevel/main.reference: -------------------------------------------------------------------------------- 1 | Hello, world! 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-command-line/unknown-file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/tool-command-line/unknown-file -------------------------------------------------------------------------------- /testsuite/tests/tool-command-line/unknown-file.byte.reference: -------------------------------------------------------------------------------- 1 | don't know what to do with unknown-file 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-command-line/unknown-file.opt.reference: -------------------------------------------------------------------------------- 1 | don't know what to do with unknown-file 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-debugger/basic/debuggee.reference: -------------------------------------------------------------------------------- 1 | Loading program... done. 2 | arg1 3 | notbar 4 | Program exit. 5 | -------------------------------------------------------------------------------- /testsuite/tests/tool-debugger/basic/input_script: -------------------------------------------------------------------------------- 1 | set arguments arg1 arg2 2 | environment foo=bar 3 | environment foo=notbar 4 | run 5 | quit 6 | -------------------------------------------------------------------------------- /testsuite/tests/tool-debugger/basic/ocamltests: -------------------------------------------------------------------------------- 1 | debuggee.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-debugger/find-artifacts/debuggee.reference: -------------------------------------------------------------------------------- 1 | Loading program... done. 2 | Breakpoint: 1 3 | 10 <|b|>print x; 4 | x: Blah.blah = Foo 5 | y: Blah.blah = Bar "hi" 6 | -------------------------------------------------------------------------------- /testsuite/tests/tool-debugger/find-artifacts/in/blah.ml: -------------------------------------------------------------------------------- 1 | type blah = 2 | | Foo 3 | | Bar of string 4 | -------------------------------------------------------------------------------- /testsuite/tests/tool-debugger/find-artifacts/in/foo.ml: -------------------------------------------------------------------------------- 1 | open Blah 2 | 3 | let print = function 4 | | Foo -> print_endline "Foo"; 5 | | Bar s -> print_endline ("Bar(" ^ s ^ ")") 6 | 7 | let main () = 8 | let x = Foo in 9 | let y = Bar "hi" in 10 | print x; 11 | print y 12 | 13 | let _ = main () 14 | -------------------------------------------------------------------------------- /testsuite/tests/tool-debugger/find-artifacts/input_script: -------------------------------------------------------------------------------- 1 | break @ Foo 10 2 | run 3 | print x 4 | print y 5 | quit 6 | -------------------------------------------------------------------------------- /testsuite/tests/tool-debugger/find-artifacts/ocamltests: -------------------------------------------------------------------------------- 1 | debuggee.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-debugger/no_debug_event/a.ml: -------------------------------------------------------------------------------- 1 | let x = 1 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-debugger/no_debug_event/b.ml: -------------------------------------------------------------------------------- 1 | let () = 2 | print_int Foo.A.x; 3 | print_newline () 4 | -------------------------------------------------------------------------------- /testsuite/tests/tool-debugger/no_debug_event/input_script: -------------------------------------------------------------------------------- 1 | run 2 | quit 3 | -------------------------------------------------------------------------------- /testsuite/tests/tool-debugger/no_debug_event/noev.reference: -------------------------------------------------------------------------------- 1 | Loading program... done. 2 | 1 3 | Program exit. 4 | -------------------------------------------------------------------------------- /testsuite/tests/tool-debugger/no_debug_event/ocamltests: -------------------------------------------------------------------------------- 1 | noev.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-lexyacc/main.compilers.reference: -------------------------------------------------------------------------------- 1 | 14 shift/reduce conflicts, 2 reduce/reduce conflicts. 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-lexyacc/ocamltests: -------------------------------------------------------------------------------- 1 | main.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocaml/t000.ml: -------------------------------------------------------------------------------- 1 | (* empty file *) 2 | 3 | (** 4 | 0 ATOM0 5 | 1 SETGLOBAL T000 6 | 3 STOP 7 | **) 8 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocaml/t010-const0.ml: -------------------------------------------------------------------------------- 1 | 0;; 2 | 3 | (** 4 | 0 CONST0 5 | 1 ATOM0 6 | 2 SETGLOBAL T010-const0 7 | 4 STOP 8 | **) 9 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocaml/t010-const1.ml: -------------------------------------------------------------------------------- 1 | 1;; 2 | 3 | (** 4 | 0 CONST1 5 | 1 ATOM0 6 | 2 SETGLOBAL T010-const1 7 | 4 STOP 8 | **) 9 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocaml/t010-const2.ml: -------------------------------------------------------------------------------- 1 | 2;; 2 | 3 | (** 4 | 0 CONST2 5 | 1 ATOM0 6 | 2 SETGLOBAL T010-const2 7 | 4 STOP 8 | **) 9 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocaml/t010-const3.ml: -------------------------------------------------------------------------------- 1 | 3;; 2 | 3 | (** 4 | 0 CONST3 5 | 1 ATOM0 6 | 2 SETGLOBAL T010-const3 7 | 4 STOP 8 | **) 9 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocaml/t011-constint.ml: -------------------------------------------------------------------------------- 1 | 4;; 2 | 3 | (** 4 | 0 CONSTINT 4 5 | 2 ATOM0 6 | 3 SETGLOBAL T011-constint 7 | 5 STOP 8 | **) 9 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocaml/t020.ml: -------------------------------------------------------------------------------- 1 | let _ = () in ();; 2 | 3 | (** 4 | 0 CONST0 5 | 1 PUSHCONST0 6 | 2 POP 1 7 | 4 ATOM0 8 | 5 SETGLOBAL T020 9 | 7 STOP 10 | **) 11 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocaml/t021-pushconst1.ml: -------------------------------------------------------------------------------- 1 | let _ = () in 1;; 2 | 3 | (** 4 | 0 CONST0 5 | 1 PUSHCONST1 6 | 2 POP 1 7 | 4 ATOM0 8 | 5 SETGLOBAL T021-pushconst1 9 | 7 STOP 10 | **) 11 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocaml/t021-pushconst2.ml: -------------------------------------------------------------------------------- 1 | let _ = () in 2;; 2 | 3 | (** 4 | 0 CONST0 5 | 1 PUSHCONST2 6 | 2 POP 1 7 | 4 ATOM0 8 | 5 SETGLOBAL T021-pushconst2 9 | 7 STOP 10 | **) 11 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocaml/t021-pushconst3.ml: -------------------------------------------------------------------------------- 1 | let _ = () in 3;; 2 | 3 | (** 4 | 0 CONST0 5 | 1 PUSHCONST3 6 | 2 POP 1 7 | 4 ATOM0 8 | 5 SETGLOBAL T021-pushconst3 9 | 7 STOP 10 | **) 11 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocaml/t022-pushconstint.ml: -------------------------------------------------------------------------------- 1 | let _ = () in -1;; 2 | 3 | (** 4 | 0 CONST0 5 | 1 PUSHCONSTINT -1 6 | 3 POP 1 7 | 5 ATOM0 8 | 6 SETGLOBAL T022-pushconstint 9 | 8 STOP 10 | **) 11 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocaml/t040-makeblock1.ml: -------------------------------------------------------------------------------- 1 | type t = { 2 | mutable a : int; 3 | };; 4 | 5 | { a = 0 };; 6 | 7 | (** 8 | 0 CONST0 9 | 1 MAKEBLOCK1 0 10 | 3 ATOM0 11 | 4 SETGLOBAL T040-makeblock1 12 | 6 STOP 13 | **) 14 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocaml/t040-makeblock2.ml: -------------------------------------------------------------------------------- 1 | type t = { 2 | mutable a : int; 3 | mutable b : int; 4 | };; 5 | 6 | { a = 0; b = 0 };; 7 | 8 | (** 9 | 0 CONST0 10 | 1 PUSHCONST0 11 | 2 MAKEBLOCK2 0 12 | 4 ATOM0 13 | 5 SETGLOBAL T040-makeblock2 14 | 7 STOP 15 | **) 16 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocaml/t050-getglobal.ml: -------------------------------------------------------------------------------- 1 | [1];; 2 | 3 | (** 4 | 0 GETGLOBAL <0>(1, 0) 5 | 2 ATOM0 6 | 3 SETGLOBAL T050-getglobal 7 | 5 STOP 8 | **) 9 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocaml/t050-pushgetglobal.ml: -------------------------------------------------------------------------------- 1 | let _ = () in 0.01;; 2 | 3 | (** 4 | 0 CONST0 5 | 1 PUSHGETGLOBAL 0.01 6 | 3 POP 1 7 | 5 ATOM0 8 | 6 SETGLOBAL T050-pushgetglobal 9 | 8 STOP 10 | **) 11 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocaml/t051-getglobalfield.ml: -------------------------------------------------------------------------------- 1 | Lib.x;; 2 | 3 | (** 4 | 0 CONSTINT 42 5 | 2 PUSHACC0 6 | 3 MAKEBLOCK1 0 7 | 5 POP 1 8 | 7 SETGLOBAL Lib 9 | 9 GETGLOBALFIELD Lib, 0 10 | 12 ATOM0 11 | 13 SETGLOBAL T051-getglobalfield 12 | 15 STOP 13 | **) 14 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocaml/t060-raise.ml: -------------------------------------------------------------------------------- 1 | open Lib;; 2 | raise End_of_file;; 3 | 4 | (** 5 | 0 CONSTINT 42 6 | 2 PUSHACC0 7 | 3 MAKEBLOCK1 0 8 | 5 POP 1 9 | 7 SETGLOBAL Lib 10 | 9 GETGLOBAL End_of_file 11 | 11 MAKEBLOCK1 0 12 | 13 RAISE 13 | 14 SETGLOBAL T060-raise 14 | 16 STOP 15 | **) 16 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocaml/t330-compact-1.ml: -------------------------------------------------------------------------------- 1 | open Lib;; 2 | Gc.compact ();; 3 | 4 | (** 5 | 0 CONSTINT 42 6 | 2 PUSHACC0 7 | 3 MAKEBLOCK1 0 8 | 5 POP 1 9 | 7 SETGLOBAL Lib 10 | 9 CONST0 11 | 10 C_CALL1 gc_compaction 12 | 12 ATOM0 13 | 13 SETGLOBAL T330-compact-1 14 | 15 STOP 15 | **) 16 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamlc-compat32/ocamltests: -------------------------------------------------------------------------------- 1 | compat32.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamlc-open/a.ml: -------------------------------------------------------------------------------- 1 | module M = struct 2 | let f x = x +1 3 | end 4 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamlc-open/b.ml: -------------------------------------------------------------------------------- 1 | let g = f 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamlc-open/ocamltests: -------------------------------------------------------------------------------- 1 | tool-ocamlc-open.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamlc-open/tool-ocamlc-open.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | files = "a.ml b.ml" 3 | * setup-ocamlc.byte-build-env 4 | ** ocamlc.byte 5 | module = "a.ml" 6 | *** ocamlc.byte 7 | module = "b.ml" 8 | flags = "-open A.M" 9 | **** check-ocamlc.byte-output 10 | *) 11 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldep-modalias/A.ml: -------------------------------------------------------------------------------- 1 | let f x = x +1 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldep-modalias/B.ml: -------------------------------------------------------------------------------- 1 | open Packed 2 | let g = A.f 3 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldep-modalias/C.ml: -------------------------------------------------------------------------------- 1 | open Lib 2 | let h x = A.f x + B.g x 3 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldep-modalias/D.ml: -------------------------------------------------------------------------------- 1 | let z x = imp (x*2) 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldep-modalias/depend.mk.reference: -------------------------------------------------------------------------------- 1 | lib.cmo : lib.cmi 2 | lib.cmx : lib.cmi 3 | lib.cmi : 4 | LibA.cmo : lib.cmi 5 | LibA.cmx : lib.cmx 6 | LibB.cmo : LibA.cmo lib.cmi 7 | LibB.cmx : LibA.cmx lib.cmx 8 | LibC.cmo : LibB.cmo LibA.cmo lib.cmi 9 | LibC.cmx : LibB.cmx LibA.cmx lib.cmx 10 | LibD.cmo : lib.cmi 11 | LibD.cmx : lib.cmx 12 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldep-modalias/depend.mk2.reference: -------------------------------------------------------------------------------- 1 | LibA.cmo : lib.cmi 2 | LibA.cmx : lib.cmi 3 | LibB.cmo : LibA.cmo lib.cmi 4 | LibB.cmx : LibA.cmx lib.cmi 5 | LibC.cmo : LibB.cmo LibA.cmo lib.cmi 6 | LibC.cmx : LibB.cmx LibA.cmx lib.cmi 7 | LibD.cmo : lib.cmi 8 | LibD.cmx : lib.cmi 9 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldep-modalias/depend.mod.reference: -------------------------------------------------------------------------------- 1 | lib.ml: 2 | lib.mli: 3 | LibA.ml: Lib 4 | LibB.ml: Lib LibA 5 | LibC.ml: Lib LibA LibB 6 | LibD.ml: Lib 7 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldep-modalias/depend.mod2.reference: -------------------------------------------------------------------------------- 1 | LibA.ml: 2 | LibB.ml: A Packed 3 | LibC.ml: Lib LibA LibB 4 | LibD.ml: 5 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldep-modalias/depend.mod3.reference: -------------------------------------------------------------------------------- 1 | LibA.ml: Lib 2 | LibB.ml: Lib LibA 3 | LibC.ml: Lib LibA LibB 4 | LibD.ml: Lib 5 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldep-modalias/lib.mli: -------------------------------------------------------------------------------- 1 | module Packed : sig 2 | module A = LibA 3 | module B = LibB 4 | module C = LibC 5 | end 6 | include (module type of struct include Packed end) 7 | 8 | val imp : int -> int 9 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldep-modalias/lib_impl.ml: -------------------------------------------------------------------------------- 1 | module Packed = struct 2 | module A = LibA 3 | module B = LibB 4 | module C = LibC 5 | end 6 | include Packed 7 | 8 | let imp x = x+1 9 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldep-modalias/main.ml: -------------------------------------------------------------------------------- 1 | open Lib 2 | 3 | let () = Printf.printf "B.g 3 = %d\n%!" (B.g 3) 4 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldoc-open/alias.ml: -------------------------------------------------------------------------------- 1 | module Container = struct 2 | module Aliased_inner = Inner 3 | end 4 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldoc-open/inner.ml: -------------------------------------------------------------------------------- 1 | 2 | type a = int 3 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldoc-open/main.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | modules = "inner.ml alias.ml" 3 | * ocamldoc 4 | ocamldoc_backend="latex" 5 | ocamldoc_flags=" -open Alias.Container -open Aliased_inner " 6 | *) 7 | 8 | (** Documentation test *) 9 | 10 | type t = a 11 | (** Alias to type Inner.a *) 12 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldoc-open/main.ocamldoc.latex.reference: -------------------------------------------------------------------------------- 1 | Warning: Module or module type Inner not found 2 | Warning: Module or module type Inner not found 3 | Warning: Module or module type Inner not found 4 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldoc-open/ocamltests: -------------------------------------------------------------------------------- 1 | main.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldoc/Extensible_variant.ocamldoc.latex.reference: -------------------------------------------------------------------------------- 1 | Warning: Tag @test_types_display not handled by this generator 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldoc/Loop.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * ocamldoc with html 3 | * ocamldoc with latex 4 | *) 5 | module rec A : sig type t end = B and B : sig type t = A.t end = A;; 6 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldoc/Module_whitespace.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * ocamldoc with html 3 | *) 4 | 5 | module M = Set.Make(struct 6 | type t = int 7 | let compare = compare 8 | end) 9 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldoc/Module_whitespace.ocamldoc.html.reference: -------------------------------------------------------------------------------- 1 | Warning: Module or module type Stdlib.Set.Make not found 2 | Warning: Module or module type Stdlib.Set.Make not found 3 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldoc/No_preamble.mli: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * ocamldoc with html 3 | *) 4 | 5 | open String 6 | 7 | (** This is a documentation comment for [x], not a module preamble. *) 8 | val x: unit 9 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldoc/Short_description.txt: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * ocamldoc with latex 3 | *) 4 | 5 | Short global description in text mode 6 | 7 | This file tests that documentation in text mode are given 8 | a short description in the global description of modules. 9 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldoc/t02.reference: -------------------------------------------------------------------------------- 1 | # 2 | # module T02: 3 | # 4 | # module T02.Foo: 5 | # 6 | # module type T02.TFoo: 7 | # 8 | # module type T02.TBar: 9 | # 10 | # module type T02.Gee: 11 | # 12 | # module T02.Gee.M: 13 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldoc/t03.ocamldoc.reference: -------------------------------------------------------------------------------- 1 | Warning: Module type not found 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldoc/t03.reference: -------------------------------------------------------------------------------- 1 | # 2 | # module T03: 3 | # 4 | # module T03.Foo: 5 | # 6 | # module type T03.MT: 7 | # 8 | # module T03.Bar: 9 | # 10 | # module type T03.MT2: 11 | # 12 | # module type T03.Gee: 13 | # 14 | # module T03.T: 15 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldoc/t05.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | plugins="odoc_test.ml" 3 | * ocamldoc 4 | flags="-I ${ocamlsrcdir}/ocamldoc" 5 | *) 6 | 7 | module rec A : sig type t end = B and B : sig type t = A.t end = A;; 8 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamldoc/t05.reference: -------------------------------------------------------------------------------- 1 | # 2 | # module T05: 3 | # 4 | # module T05.A: 5 | # 6 | # module T05.B: 7 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamlobjinfo/question.ml: -------------------------------------------------------------------------------- 1 | let answer = 42 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-ocamlobjinfo/test.reference: -------------------------------------------------------------------------------- 1 | File question.cmxs 2 | Name: Question 3 | CRC of implementation: 4 | Globals defined: 5 | Question 6 | Interfaces imported: 7 | Stdlib 8 | Question 9 | CamlinternalFormatBasics 10 | Implementations imported: 11 | -------------------------------------------------------------------------------- /testsuite/tests/tool-toplevel-invocation/first_arg_fail.txt: -------------------------------------------------------------------------------- 1 | test.ml 2 | -I 3 | ../ 4 | -------------------------------------------------------------------------------- /testsuite/tests/tool-toplevel-invocation/first_arg_fail.txt.reference: -------------------------------------------------------------------------------- 1 | For implementation reasons, the toplevel does not support having script files (here "test.ml") inside expanded arguments passed through the -args{,0} command-line option. 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-toplevel-invocation/indirect_first_arg_fail.txt: -------------------------------------------------------------------------------- 1 | -args 2 | first_arg_fail.txt 3 | -------------------------------------------------------------------------------- /testsuite/tests/tool-toplevel-invocation/indirect_first_arg_fail.txt.reference: -------------------------------------------------------------------------------- 1 | For implementation reasons, the toplevel does not support having script files (here "test.ml") inside expanded arguments passed through the -args{,0} command-line option. 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-toplevel-invocation/indirect_last_arg_fail.txt: -------------------------------------------------------------------------------- 1 | -args 2 | last_arg_fail.txt 3 | -------------------------------------------------------------------------------- /testsuite/tests/tool-toplevel-invocation/indirect_last_arg_fail.txt.reference: -------------------------------------------------------------------------------- 1 | For implementation reasons, the toplevel does not support having script files (here "test.ml") inside expanded arguments passed through the -args{,0} command-line option. 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-toplevel-invocation/last_arg_fail.txt: -------------------------------------------------------------------------------- 1 | -I 2 | ../ 3 | test.ml 4 | -------------------------------------------------------------------------------- /testsuite/tests/tool-toplevel-invocation/last_arg_fail.txt.reference: -------------------------------------------------------------------------------- 1 | For implementation reasons, the toplevel does not support having script files (here "test.ml") inside expanded arguments passed through the -args{,0} command-line option. 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-toplevel-invocation/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/tool-toplevel-invocation/working_arg.txt: -------------------------------------------------------------------------------- 1 | -open 2 | Printf 3 | -------------------------------------------------------------------------------- /testsuite/tests/tool-toplevel-invocation/working_arg.txt.reference: -------------------------------------------------------------------------------- 1 | Test succeeds 2 | - : unit = () 3 | 4 | -------------------------------------------------------------------------------- /testsuite/tests/tool-toplevel/ocamltests: -------------------------------------------------------------------------------- 1 | exotic_lists.ml 2 | pr7060.ml 3 | pr7751.ml 4 | strings.ml 5 | tracing.ml 6 | -------------------------------------------------------------------------------- /testsuite/tests/tool-toplevel/pr7060.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * toplevel 3 | *) 4 | 5 | type t = A | B;; 6 | type u = C of t;; 7 | let print_t out = function A -> Format.fprintf out "A";; 8 | #install_printer print_t;; 9 | B;; 10 | C B;; 11 | -------------------------------------------------------------------------------- /testsuite/tests/tool-toplevel/pr7751.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | include ocamlcommon 3 | * toplevel 4 | *) 5 | 6 | Parse.expression (Lexing.from_string "1");; 7 | -------------------------------------------------------------------------------- /testsuite/tests/tool-toplevel/tracing.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * toplevel 3 | *) 4 | 5 | List.fold_left;; 6 | #trace List.fold_left;; 7 | 0;; 8 | List.fold_left (+) 0 [1;2;3];; 9 | -------------------------------------------------------------------------------- /testsuite/tests/translprim/ocamltests: -------------------------------------------------------------------------------- 1 | array_spec.ml 2 | comparison_table.ml 3 | module_coercion.ml 4 | ref_spec.ml 5 | -------------------------------------------------------------------------------- /testsuite/tests/typing-core-bugs/example_let_missing_rec_loc.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * expect 3 | *) 4 | 5 | let x = 3 in 6 | let f x = f x in 7 | ();; 8 | [%%expect{| 9 | Line _, characters 10-11: 10 | let f x = f x in 11 | ^ 12 | Error: Unbound value f. 13 | Hint: You are probably missing the `rec' keyword on line 2. 14 | |}];; 15 | -------------------------------------------------------------------------------- /testsuite/tests/typing-core-bugs/ocamltests: -------------------------------------------------------------------------------- 1 | example_let_missing_rec_loc.ml 2 | example_let_missing_rec.ml 3 | example_let_missing_rec_mutual.ml 4 | unit_fun_hints.ml 5 | type_expected_explanation.ml 6 | -------------------------------------------------------------------------------- /testsuite/tests/typing-deprecated/ocamltests: -------------------------------------------------------------------------------- 1 | deprecated.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-extension-constructor/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-extensions/ocamltests: -------------------------------------------------------------------------------- 1 | cast.ml 2 | extensions.ml 3 | msg.ml 4 | open_types.ml 5 | -------------------------------------------------------------------------------- /testsuite/tests/typing-fstclassmod/fstclassmod.reference: -------------------------------------------------------------------------------- 1 | abc/def/xyz xyz/def/abc 2 | 1 3 | 2 4 | XXXXXXXX 5 | 10 6 | (123,("A",456)) 7 | 2 8 | -------------------------------------------------------------------------------- /testsuite/tests/typing-fstclassmod/ocamltests: -------------------------------------------------------------------------------- 1 | fstclassmod.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-gadts/pr6934.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * expect 3 | *) 4 | 5 | type nonrec t = A : t;; 6 | [%%expect{| 7 | Line _, characters 16-21: 8 | type nonrec t = A : t;; 9 | ^^^^^ 10 | Error: GADT case syntax cannot be used in a 'nonrec' block. 11 | |}] 12 | 13 | -------------------------------------------------------------------------------- /testsuite/tests/typing-gadts/pr7230.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * expect 3 | *) 4 | 5 | type _ t = T : int t;; 6 | 7 | (* Should raise Not_found *) 8 | let _ = match (raise Not_found : float t) with _ -> .;; 9 | 10 | [%%expect{| 11 | type _ t = T : int t 12 | Exception: Not_found. 13 | |}];; 14 | -------------------------------------------------------------------------------- /testsuite/tests/typing-immediate/ocamltests: -------------------------------------------------------------------------------- 1 | immediate.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-implicit_unpack/ocamltests: -------------------------------------------------------------------------------- 1 | implicit_unpack.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-labels/mixin.reference: -------------------------------------------------------------------------------- 1 | y 2 | -6 + x 3 | 9 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-labels/mixin2.reference: -------------------------------------------------------------------------------- 1 | y 2 | -6 + x 3 | 9 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-labels/mixin3.reference: -------------------------------------------------------------------------------- 1 | y 2 | -6 + x 3 | 9 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-labels/ocamltests: -------------------------------------------------------------------------------- 1 | mixin2.ml 2 | mixin3.ml 3 | mixin.ml 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-misc-bugs/ocamltests: -------------------------------------------------------------------------------- 1 | core_array_reduced_ok.ml 2 | pr6303_bad.ml 3 | pr6946_bad.ml 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-misc-bugs/pr6303_bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr6303_bad.ml", line 11, characters 22-23: 2 | Error: This expression has type int foo 3 | but an expression was expected of type string foo 4 | Type int is not compatible with type string 5 | -------------------------------------------------------------------------------- /testsuite/tests/typing-misc-bugs/pr6303_bad.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w a " 3 | ocamlc_byte_exit_status = "2" 4 | * setup-ocamlc.byte-build-env 5 | ** ocamlc.byte 6 | *** check-ocamlc.byte-output 7 | *) 8 | 9 | type 'a foo = {x: 'a; y: int} 10 | let r = {{x = 0; y = 0} with x = 0} 11 | let r' : string foo = r 12 | -------------------------------------------------------------------------------- /testsuite/tests/typing-misc-bugs/pr6946_bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr6946_bad.ml", line 10, characters 8-11: 2 | Error: This expression has type int 3 | This is not a function; it cannot be applied. 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-misc-bugs/pr6946_bad.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w a " 3 | ocamlc_byte_exit_status = "2" 4 | * setup-ocamlc.byte-build-env 5 | ** ocamlc.byte 6 | *** check-ocamlc.byte-output 7 | *) 8 | 9 | external foo : int = "%ignore";; 10 | let _ = foo ();; 11 | -------------------------------------------------------------------------------- /testsuite/tests/typing-misc/ocamltests: -------------------------------------------------------------------------------- 1 | constraints.ml 2 | disambiguate_principality.ml 3 | inside_out.ml 4 | labels.ml 5 | occur_check.ml 6 | polyvars.ml 7 | pr6939-flat-float-array.ml 8 | pr6939-no-flat-float-array.ml 9 | pr7103.ml 10 | pr7228.ml 11 | pr7668_bad.ml 12 | printing.ml 13 | records.ml 14 | variant.ml 15 | wellfounded.ml 16 | empty_variant.ml 17 | -------------------------------------------------------------------------------- /testsuite/tests/typing-missing-cmi/a.ml: -------------------------------------------------------------------------------- 1 | let (a : M.a) = 2 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-missing-cmi/b.ml: -------------------------------------------------------------------------------- 1 | let (b : M.b) = 2 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-missing-cmi/main.ml: -------------------------------------------------------------------------------- 1 | let _ = A.a = B.b 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-missing-cmi/main.ml.reference: -------------------------------------------------------------------------------- 1 | File "main.ml", line 1, characters 14-17: 2 | Error: This expression has type M.b but an expression was expected of type 3 | M.a 4 | M.b is abstract because no corresponding cmi file was found in path. 5 | M.a is abstract because no corresponding cmi file was found in path. 6 | -------------------------------------------------------------------------------- /testsuite/tests/typing-missing-cmi/main_ok.ml: -------------------------------------------------------------------------------- 1 | let f (x : C.t1) = (x : C.t2) 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-missing-cmi/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-missing-cmi/subdir/m.ml: -------------------------------------------------------------------------------- 1 | type a = int 2 | type b = a 3 | 4 | module Foo(X : sig end) = struct type t = T end 5 | -------------------------------------------------------------------------------- /testsuite/tests/typing-missing-cmi/test.compilers.reference: -------------------------------------------------------------------------------- 1 | File "main.ml", line 1, characters 14-17: 2 | Error: This expression has type M.b but an expression was expected of type 3 | M.a 4 | M.b is abstract because no corresponding cmi file was found in path. 5 | M.a is abstract because no corresponding cmi file was found in path. 6 | -------------------------------------------------------------------------------- /testsuite/tests/typing-modules-bugs/pr5663_ok.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w a " 3 | * setup-ocamlc.byte-build-env 4 | ** ocamlc.byte 5 | *** check-ocamlc.byte-output 6 | *) 7 | 8 | module F (M : sig 9 | type 'a t 10 | type 'a u = string 11 | val f : unit -> _ u t 12 | end) = struct 13 | let t = M.f () 14 | end 15 | -------------------------------------------------------------------------------- /testsuite/tests/typing-modules-bugs/pr6293_bad.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w a " 3 | ocamlc_byte_exit_status = "2" 4 | * setup-ocamlc.byte-build-env 5 | ** ocamlc.byte 6 | *** check-ocamlc.byte-output 7 | *) 8 | 9 | module type S = sig type t = { a : int; b : int; } end;; 10 | let f (module M : S with type t = int) = { M.a = 0 };; 11 | -------------------------------------------------------------------------------- /testsuite/tests/typing-modules-bugs/pr6427_bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr6427_bad.ml", line 12, characters 13-65: 2 | Error: This expression creates fresh types. 3 | It is not allowed inside applicative functors. 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-modules-bugs/pr6752_bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr6752_bad.ml", line 26, characters 31-40: 2 | Error: This expression has type 'a Queue.t 3 | but an expression was expected of type Common0.msg Queue.t 4 | The type constructor Common0.msg would escape its scope 5 | -------------------------------------------------------------------------------- /testsuite/tests/typing-modules-bugs/pr6899_first_bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr6899_first_bad.ml", line 9, characters 4-17: 2 | Error: The type of this expression, '_weak1 -> '_weak2 -> unit, 3 | contains type variables that cannot be generalized 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-modules-bugs/pr6899_first_bad.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w a " 3 | ocamlc_byte_exit_status = "2" 4 | * setup-ocamlc.byte-build-env 5 | ** ocamlc.byte 6 | *** check-ocamlc.byte-output 7 | *) 8 | 9 | let should_reject = 10 | let table = Hashtbl.create 1 in 11 | fun x y -> Hashtbl.add table x y 12 | -------------------------------------------------------------------------------- /testsuite/tests/typing-modules-bugs/pr6899_ok.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w a " 3 | * setup-ocamlc.byte-build-env 4 | ** ocamlc.byte 5 | *** check-ocamlc.byte-output 6 | *) 7 | 8 | type 'a t = 'a option 9 | let is_some = function 10 | | None -> false 11 | | Some _ -> true 12 | 13 | let should_accept ?x () = is_some x 14 | -------------------------------------------------------------------------------- /testsuite/tests/typing-modules-bugs/pr6899_second_bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr6899_second_bad.ml", line 12, characters 6-9: 2 | Error: The type of this expression, _[< `Test ] -> unit, 3 | contains type variables that cannot be generalized 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-modules-bugs/pr6899_second_bad.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w a " 3 | ocamlc_byte_exit_status = "2" 4 | * setup-ocamlc.byte-build-env 5 | ** ocamlc.byte 6 | *** check-ocamlc.byte-output 7 | *) 8 | 9 | include struct 10 | let foo `Test = () 11 | let wrap f `Test = f 12 | let bar = wrap () 13 | end 14 | -------------------------------------------------------------------------------- /testsuite/tests/typing-modules-bugs/pr6944_ok.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w a " 3 | * setup-ocamlc.byte-build-env 4 | ** ocamlc.byte 5 | *** check-ocamlc.byte-output 6 | *) 7 | 8 | let f () = 9 | let module S = String in 10 | let module N = Map.Make(S) in 11 | N.add "sum" 41 N.empty;; 12 | -------------------------------------------------------------------------------- /testsuite/tests/typing-modules-bugs/pr6992_bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr6992_bad.ml", line 16, characters 69-71: 2 | Error: This expression has type (a, a) eq 3 | but an expression was expected of type (a, b) eq 4 | Type a is not compatible with type b 5 | -------------------------------------------------------------------------------- /testsuite/tests/typing-modules-bugs/pr7112_bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr7112_bad.ml", line 13, characters 30-31: 2 | Error: Signature mismatch: 3 | Modules do not match: F(N).S is not included in A.S 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-modules-bugs/pr7112_ok.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w a " 3 | * setup-ocamlc.byte-build-env 4 | ** ocamlc.byte 5 | *** check-ocamlc.byte-output 6 | *) 7 | 8 | module F (_ : sig end) = struct module type S end 9 | module M = struct end 10 | module N = M 11 | module G (X : F(N).S) : F(M).S = X 12 | -------------------------------------------------------------------------------- /testsuite/tests/typing-modules-bugs/pr7182_ok.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w a " 3 | * setup-ocamlc.byte-build-env 4 | ** ocamlc.byte 5 | *** check-ocamlc.byte-output 6 | *) 7 | 8 | module rec M 9 | : sig external f : int -> int = "%identity" end 10 | = struct external f : int -> int = "%identity" end 11 | -------------------------------------------------------------------------------- /testsuite/tests/typing-modules/ocamltests: -------------------------------------------------------------------------------- 1 | aliases.ml 2 | applicative_functor_type.ml 3 | firstclass.ml 4 | generative.ml 5 | pr5911.ml 6 | pr6394.ml 7 | pr7207.ml 8 | pr7348.ml 9 | printing.ml 10 | recursive.ml 11 | Test.ml 12 | -------------------------------------------------------------------------------- /testsuite/tests/typing-modules/recursive.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * expect 3 | *) 4 | 5 | (* PR#7324 *) 6 | 7 | module rec T : sig type t = T.t end = T;; 8 | [%%expect{| 9 | Line _, characters 15-35: 10 | module rec T : sig type t = T.t end = T;; 11 | ^^^^^^^^^^^^^^^^^^^^ 12 | Error: The type abbreviation T.t is cyclic 13 | |}] 14 | -------------------------------------------------------------------------------- /testsuite/tests/typing-multifile/a.ml: -------------------------------------------------------------------------------- 1 | type _ t = T 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-multifile/b.ml: -------------------------------------------------------------------------------- 1 | type 'a t = 'a A.t 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-multifile/c.ml: -------------------------------------------------------------------------------- 1 | external f : unit -> unit B.t = "%identity" 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-multifile/d.mli: -------------------------------------------------------------------------------- 1 | type _ t = C: { f: ('a -> [<`X]) t } -> [<`X] t 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-multifile/e.ml: -------------------------------------------------------------------------------- 1 | open D;; let f (C {f}) = () 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-multifile/f.ml: -------------------------------------------------------------------------------- 1 | module A = struct end 2 | module Alias = A 3 | exception Alias 4 | let alias = Alias 5 | -------------------------------------------------------------------------------- /testsuite/tests/typing-multifile/ocamltests: -------------------------------------------------------------------------------- 1 | pr6372.ml 2 | pr7325.ml 3 | pr7563.ml 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-multifile/pr6372.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | files = "d.mli e.ml" 3 | * setup-ocamlc.byte-build-env 4 | ** ocamlc.byte 5 | module = "d.mli" 6 | *** ocamlc.byte 7 | module = "e.ml" 8 | **** check-ocamlc.byte-output 9 | *) 10 | -------------------------------------------------------------------------------- /testsuite/tests/typing-multifile/pr7325.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | files = "a.ml b.ml c.ml" 3 | * setup-ocamlc.byte-build-env 4 | ** ocamlc.byte 5 | module = "a.ml" 6 | *** ocamlc.byte 7 | module = "b.ml" 8 | **** script 9 | script = "rm a.cmi" 10 | ***** ocamlc.byte 11 | module = "c.ml" 12 | ****** check-ocamlc.byte-output 13 | *) -------------------------------------------------------------------------------- /testsuite/tests/typing-multifile/pr7563.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | modules = "f.ml" 3 | *) 4 | 5 | exit (if F.Alias = F.alias then 0 else 1) 6 | -------------------------------------------------------------------------------- /testsuite/tests/typing-objects-bugs/ocamltests: -------------------------------------------------------------------------------- 1 | pr3968_bad.ml 2 | pr4018_bad.ml 3 | pr4435_bad.ml 4 | pr4766_ok.ml 5 | pr4824_ok.ml 6 | pr4824a_bad.ml 7 | pr5156_ok.ml 8 | pr7284_bad.ml 9 | pr7293_ok.ml 10 | woodyatt_ok.ml 11 | yamagata021012_ok.ml 12 | -------------------------------------------------------------------------------- /testsuite/tests/typing-objects-bugs/pr4435_bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr4435_bad.ml", line 14, characters 6-7: 2 | Error: Multiple definition of the type name c. 3 | Names must be unique in a given structure or signature. 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-objects-bugs/pr4824_ok.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w a " 3 | * setup-ocamlc.byte-build-env 4 | ** ocamlc.byte 5 | *** check-ocamlc.byte-output 6 | *) 7 | 8 | module M : 9 | sig 10 | class x : int -> object method m : int end 11 | end 12 | = 13 | struct 14 | class x _ = object 15 | method m = 42 16 | end 17 | end;; 18 | -------------------------------------------------------------------------------- /testsuite/tests/typing-objects-bugs/pr7284_bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr7284_bad.ml", line 35, characters 30-62: 2 | Error (warning 8): this pattern-matching is not exhaustive. 3 | Here is an example of a case that is not matched: 4 | V2 _ 5 | -------------------------------------------------------------------------------- /testsuite/tests/typing-objects/ocamltests: -------------------------------------------------------------------------------- 1 | dummy.ml 2 | Exemples.ml 3 | open_in_classes.ml 4 | pr5545.ml 5 | pr5619_bad.ml 6 | pr5858.ml 7 | pr6123_bad.ml 8 | pr6383.ml 9 | pr6907_bad.ml 10 | Tests.ml 11 | -------------------------------------------------------------------------------- /testsuite/tests/typing-objects/pr6383.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * expect 3 | *) 4 | 5 | let f (x: #M.foo) = 0;; 6 | [%%expect{| 7 | Line _, characters 11-16: 8 | let f (x: #M.foo) = 0;; 9 | ^^^^^ 10 | Error: Unbound module M 11 | |}];; 12 | -------------------------------------------------------------------------------- /testsuite/tests/typing-ocamlc-i/ocamltests: -------------------------------------------------------------------------------- 1 | pr7620_bad.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-ocamlc-i/pr7620_bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr7620_bad.ml", line 10, characters 17-19: 2 | Error: This pattern matches values of type [? `B ] 3 | but a pattern was expected which matches values of type [ `A ] 4 | Types for tag `B are incompatible 5 | -------------------------------------------------------------------------------- /testsuite/tests/typing-ocamlc-i/pr7620_bad.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = "-i" 3 | ocamlc_byte_exit_status = "2" 4 | * setup-ocamlc.byte-build-env 5 | ** ocamlc.byte 6 | *** check-ocamlc.byte-output 7 | *) 8 | 9 | let t = 10 | (function `A | `B -> () : 'a) (`A : [`A]); 11 | (failwith "dummy" : 'a) (* to know how 'a is unified *) 12 | -------------------------------------------------------------------------------- /testsuite/tests/typing-pattern_open/ocamltests: -------------------------------------------------------------------------------- 1 | pattern_open.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-poly-bugs/ocamltests: -------------------------------------------------------------------------------- 1 | pr5322_ok.ml 2 | pr5673_bad.ml 3 | pr5673_ok.ml 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-poly/ocamltests: -------------------------------------------------------------------------------- 1 | poly.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-polyvariants-bugs-2/ocamltests: -------------------------------------------------------------------------------- 1 | pr3918c.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-polyvariants-bugs-2/pr3918a.mli: -------------------------------------------------------------------------------- 1 | type 'a voption = [ `None | `Some of 'a] 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-polyvariants-bugs-2/pr3918b.mli: -------------------------------------------------------------------------------- 1 | type 'a vlist = ('a * 'b) Pr3918a.voption as 'b 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-polyvariants-bugs-2/pr3918c.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr3918c.ml", line 24, characters 11-12: 2 | Error: This expression has type 'b Pr3918b.vlist = 'a 3 | but an expression was expected of type 'b Pr3918b.vlist 4 | The type variable 'a occurs inside 'a 5 | -------------------------------------------------------------------------------- /testsuite/tests/typing-polyvariants-bugs/ocamltests: -------------------------------------------------------------------------------- 1 | pr4775_ok.ml 2 | pr4933_ok.ml 3 | pr5057_ok.ml 4 | pr5057a_bad.ml 5 | pr7199_ok.ml 6 | privrowsabate_ok.ml 7 | -------------------------------------------------------------------------------- /testsuite/tests/typing-polyvariants-bugs/pr5057a_bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr5057a_bad.ml", line 14, characters 48-49: 2 | Error: This expression has type 'a but an expression was expected of type 3 | int -> T.t -> bool 4 | The type constructor T.t would escape its scope 5 | -------------------------------------------------------------------------------- /testsuite/tests/typing-private-bugs/ocamltests: -------------------------------------------------------------------------------- 1 | pr5026_bad.ml 2 | pr5469_ok.ml 3 | -------------------------------------------------------------------------------- /testsuite/tests/typing-private-bugs/pr5026_bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr5026_bad.ml", line 11, characters 0-36: 2 | Error: The definition of wrapped contains a cycle: 3 | sexp 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-private/ocamltests: -------------------------------------------------------------------------------- 1 | private.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recmod/ocamltests: -------------------------------------------------------------------------------- 1 | t01bad.ml 2 | t02bad.ml 3 | t03ok.ml 4 | t04bad.ml 5 | t05bad.ml 6 | t06ok.ml 7 | t07bad.ml 8 | t08bad.ml 9 | t09bad.ml 10 | t10ok.ml 11 | t11bad.ml 12 | t12bad.ml 13 | t13ok.ml 14 | t14bad.ml 15 | t15bad.ml 16 | t16ok.ml 17 | t17ok.ml 18 | t18ok.ml 19 | t19ok.ml 20 | t20ok.ml 21 | t21ok.ml 22 | t22ok.ml 23 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recmod/t01bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "t01bad.ml", line 10, characters 15-35: 2 | Error: The type abbreviation A.t is cyclic 3 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recmod/t01bad.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w a " 3 | ocamlc_byte_exit_status = "2" 4 | * setup-ocamlc.byte-build-env 5 | ** ocamlc.byte 6 | *** check-ocamlc.byte-output 7 | *) 8 | 9 | (* Bad (t = t) *) 10 | module rec A : sig type t = A.t end = struct type t = A.t end;; 11 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recmod/t02bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "t02bad.ml", line 10, characters 15-35: 2 | Error: The definition of A.t contains a cycle: 3 | B.t 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recmod/t02bad.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w a " 3 | ocamlc_byte_exit_status = "2" 4 | * setup-ocamlc.byte-build-env 5 | ** ocamlc.byte 6 | *** check-ocamlc.byte-output 7 | *) 8 | 9 | (* Bad (t = t) *) 10 | module rec A : sig type t = B.t end = struct type t = B.t end 11 | and B : sig type t = A.t end = struct type t = A.t end;; 12 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recmod/t03ok.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w a " 3 | * setup-ocamlc.byte-build-env 4 | ** ocamlc.byte 5 | *** check-ocamlc.byte-output 6 | *) 7 | 8 | (* OK (t = int) *) 9 | module rec A : sig type t = B.t end = struct type t = B.t end 10 | and B : sig type t = int end = struct type t = int end;; 11 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recmod/t04bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "t04bad.ml", line 10, characters 15-41: 2 | Error: The definition of A.t contains a cycle: 3 | int * A.t 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recmod/t04bad.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w a " 3 | ocamlc_byte_exit_status = "2" 4 | * setup-ocamlc.byte-build-env 5 | ** ocamlc.byte 6 | *** check-ocamlc.byte-output 7 | *) 8 | 9 | (* Bad (t = int * t) *) 10 | module rec A : sig type t = int * A.t end = struct type t = int * A.t end;; 11 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recmod/t05bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "t05bad.ml", line 10, characters 15-42: 2 | Error: The definition of A.t contains a cycle: 3 | B.t -> int 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recmod/t06ok.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w a " 3 | * setup-ocamlc.byte-build-env 4 | ** ocamlc.byte 5 | *** check-ocamlc.byte-output 6 | *) 7 | 8 | (* OK (t = ) *) 9 | module rec A : sig type t = end = struct type t = end 10 | and B : sig type t = A.t end = struct type t = A.t end;; 11 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recmod/t07bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "t07bad.ml", line 10, characters 15-51: 2 | Error: In the definition of A.t, type 'a list A.t should be 'a A.t 3 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recmod/t07bad.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w a " 3 | ocamlc_byte_exit_status = "2" 4 | * setup-ocamlc.byte-build-env 5 | ** ocamlc.byte 6 | *** check-ocamlc.byte-output 7 | *) 8 | 9 | (* Bad (not regular) *) 10 | module rec A : sig type 'a t = end 11 | = struct type 'a t = end;; 12 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recmod/t08bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "t08bad.ml", line 10, characters 15-68: 2 | Error: In the definition of B.t, type 'a array A.t should be 'a A.t 3 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recmod/t09bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "t09bad.ml", line 10, characters 15-41: 2 | Error: In the definition of B.t, type 'a array A.t should be 'a A.t 3 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recmod/t11bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "t11bad.ml", line 12, characters 15-52: 2 | Error: In the definition of B.t, type 'a array B.t should be 'a B.t 3 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recmod/t12bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "t12bad.ml", line 11, characters 4-101: 2 | Error: In the definition of M.c, type 'b M.c should be 'a M.c 3 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recmod/t14bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "t14bad.ml", line 23, characters 17-37: 2 | Error: The definition of U.D.t contains a cycle: 3 | U'.t 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recmod/t15bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "t15bad.ml", line 11, characters 15-35: 2 | Error: The type abbreviation M.t is cyclic 3 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recmod/t15bad.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w a " 3 | ocamlc_byte_exit_status = "2" 4 | * setup-ocamlc.byte-build-env 5 | ** ocamlc.byte 6 | *** check-ocamlc.byte-output 7 | *) 8 | 9 | (* Bad - PR 4512 *) 10 | module type S' = sig type t = int end 11 | module rec M : S' with type t = M.t = struct type t = M.t end;; 12 | -------------------------------------------------------------------------------- /testsuite/tests/typing-recordarg/ocamltests: -------------------------------------------------------------------------------- 1 | recordarg.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-rectypes-bugs/ocamltests: -------------------------------------------------------------------------------- 1 | pr5343_bad.ml 2 | pr6174_bad.ml 3 | pr6870_bad.ml 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-rectypes-bugs/pr5343_bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr5343_bad.ml", line 11, characters 2-14: 2 | Error: The type abbreviation u is cyclic 3 | -------------------------------------------------------------------------------- /testsuite/tests/typing-rectypes-bugs/pr6174_bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr6174_bad.ml", line 11, characters 24-25: 2 | Error: This expression has type $0 but an expression was expected of type 3 | $1 = ($2 -> $1) -> $1 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-rectypes-bugs/pr6870_bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "pr6870_bad.ml", line 10, characters 38-50: 2 | Error: This alias is bound to type 'a T.t but is used as an instance of type 3 | 'a 4 | The type variable 'a occurs inside 'a T.t 5 | -------------------------------------------------------------------------------- /testsuite/tests/typing-rectypes-bugs/pr6870_bad.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w a -rectypes " 3 | ocamlc_byte_exit_status = "2" 4 | * setup-ocamlc.byte-build-env 5 | ** ocamlc.byte 6 | *** check-ocamlc.byte-output 7 | *) 8 | 9 | module type T = sig type 'a t end 10 | module Fix (T : T) = struct type r = ('r T.t as 'r) end 11 | -------------------------------------------------------------------------------- /testsuite/tests/typing-safe-linking/a.ml: -------------------------------------------------------------------------------- 1 | type _ t = 2 | X of string 3 | | Y : bytes t 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-safe-linking/b_bad.compilers.reference: -------------------------------------------------------------------------------- 1 | File "b_bad.ml", line 13, characters 29-66: 2 | Error (warning 8): this pattern-matching is not exhaustive. 3 | Here is an example of a case that is not matched: 4 | Y 5 | File "b_bad.ml", line 17, characters 11-14: 6 | Error: Unbound value A.y 7 | -------------------------------------------------------------------------------- /testsuite/tests/typing-safe-linking/ocamltests: -------------------------------------------------------------------------------- 1 | b_bad.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-shadowing-of-pervasives-submodules/largeFile.ml: -------------------------------------------------------------------------------- 1 | let message = "Hello, world!" 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-shadowing-of-pervasives-submodules/ocamltests: -------------------------------------------------------------------------------- 1 | redefine_largefile.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-shadowing-of-pervasives-submodules/redefine_largefile.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | modules = "largeFile.ml" 3 | *) 4 | print_string LargeFile.message 5 | -------------------------------------------------------------------------------- /testsuite/tests/typing-shadowing-of-pervasives-submodules/redefine_largefile.reference: -------------------------------------------------------------------------------- 1 | Hello, world! 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-short-paths/gpr1223.compilers.reference: -------------------------------------------------------------------------------- 1 | val y : Gpr1223_bar.N.O.t = Gpr1223_bar.N.O.T 2 | val x : Gpr1223_bar.M.t = Gpr1223_bar.M.T 3 | 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-short-paths/gpr1223.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -short-paths " 3 | modules = "gpr1223_foo.mli gpr1223_bar.mli" 4 | * toplevel 5 | *) 6 | 7 | let y = Gpr1223_bar.N.O.T;; 8 | 9 | let x = Gpr1223_bar.M.T;; 10 | -------------------------------------------------------------------------------- /testsuite/tests/typing-short-paths/gpr1223_bar.mli: -------------------------------------------------------------------------------- 1 | 2 | module M : Gpr1223_foo.S 3 | 4 | module N : sig 5 | 6 | module O : sig 7 | 8 | type t = T 9 | 10 | end 11 | 12 | end 13 | -------------------------------------------------------------------------------- /testsuite/tests/typing-short-paths/gpr1223_foo.mli: -------------------------------------------------------------------------------- 1 | 2 | module type S = sig 3 | 4 | type t = T 5 | 6 | end 7 | -------------------------------------------------------------------------------- /testsuite/tests/typing-short-paths/ocamltests: -------------------------------------------------------------------------------- 1 | gpr1223.ml 2 | pr5918.ml 3 | pr6836.ml 4 | pr7543.ml 5 | short-paths.ml 6 | -------------------------------------------------------------------------------- /testsuite/tests/typing-short-paths/pr5918.compilers.reference: -------------------------------------------------------------------------------- 1 | Characters 136-146: 2 | let _ = { a = () } 3 | ^^^^^^^^^^ 4 | Error: Some record fields are undefined: b 5 | 6 | -------------------------------------------------------------------------------- /testsuite/tests/typing-short-paths/pr5918.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -short-paths " 3 | * toplevel 4 | *) 5 | 6 | module rec A : sig 7 | type t 8 | end = struct 9 | type t = { a : unit; b : unit } 10 | let _ = { a = () } 11 | end 12 | ;; 13 | -------------------------------------------------------------------------------- /testsuite/tests/typing-short-paths/pr6836.compilers.reference: -------------------------------------------------------------------------------- 1 | type t = [ `A | `B ] 2 | type 'a u = t 3 | val a : [< t > `A ] = `A 4 | type 'a s = 'a 5 | val b : [< t > `B ] = `B 6 | 7 | -------------------------------------------------------------------------------- /testsuite/tests/typing-short-paths/pr6836.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -short-paths " 3 | * toplevel 4 | *) 5 | 6 | type t = [`A | `B];; 7 | type 'a u = t;; 8 | let a : [< int u] = `A;; 9 | 10 | type 'a s = 'a;; 11 | let b : [< t s] = `B;; 12 | -------------------------------------------------------------------------------- /testsuite/tests/typing-signatures/ocamltests: -------------------------------------------------------------------------------- 1 | els.ml 2 | pr6371.ml 3 | pr6672.ml 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-signatures/pr6371.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * toplevel 3 | *) 4 | 5 | module M = struct 6 | type t = int * (< m : 'a > as 'a) 7 | end;; 8 | 9 | module type S = 10 | sig module M : sig type t end end with module M = M 11 | ;; 12 | -------------------------------------------------------------------------------- /testsuite/tests/typing-signatures/pr6371.ocaml.reference: -------------------------------------------------------------------------------- 1 | module M : sig type t = int * (< m : 'a > as 'a) end 2 | module type S = sig module M : sig type t = int * (< m : 'a > as 'a) end end 3 | 4 | -------------------------------------------------------------------------------- /testsuite/tests/typing-signatures/pr6672.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | * toplevel 3 | *) 4 | 5 | module type S = sig type 'a t end;; 6 | module type T = S with type +'a t = 'a list;; 7 | module type T = S with type -'a t = 'a list;; 8 | -------------------------------------------------------------------------------- /testsuite/tests/typing-sigsubst/ocamltests: -------------------------------------------------------------------------------- 1 | sigsubst.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-typeparam/ocamltests: -------------------------------------------------------------------------------- 1 | newtype.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-unboxed-types/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-unboxed/ocamltests: -------------------------------------------------------------------------------- 1 | test.ml 2 | -------------------------------------------------------------------------------- /testsuite/tests/typing-warnings/application.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w A -strict-sequence " 3 | * toplevel 4 | *) 5 | 6 | (* Ignore OCAMLRUNPARAM=b to be reproducible *) 7 | Printexc.record_backtrace false;; 8 | 9 | let _ = ignore (+);; 10 | let _ = raise Exit 3;; 11 | -------------------------------------------------------------------------------- /testsuite/tests/typing-warnings/ocamltests: -------------------------------------------------------------------------------- 1 | ambiguous_guarded_disjunction.ml 2 | application.ml 3 | coercions.ml 4 | exhaustiveness.ml 5 | pr5892.ml 6 | pr6587.ml 7 | pr6872.ml 8 | pr7085.ml 9 | pr7115.ml 10 | pr7261.ml 11 | pr7297.ml 12 | pr7553.ml 13 | records.ml 14 | unused_types.ml 15 | -------------------------------------------------------------------------------- /testsuite/tests/typing-warnings/pr5892.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w A -strict-sequence " 3 | * toplevel 4 | *) 5 | 6 | open CamlinternalOO;; 7 | type _ choice = Left : label choice | Right : tag choice;; 8 | let f : label choice -> bool = function Left -> true;; (* warn *) 9 | -------------------------------------------------------------------------------- /testsuite/tests/typing-warnings/pr7261.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w A -strict-sequence " 3 | * toplevel 4 | *) 5 | 6 | type foo = 7 | Foo: [> `Bla ] as 'b ) * 'b -> foo;; 8 | type foo = 9 | Foo: 'b * 'b -> foo constraint 'b = [> `Bla ];; 10 | -------------------------------------------------------------------------------- /testsuite/tests/typing-warnings/pr7297.compilers.reference: -------------------------------------------------------------------------------- 1 | - : unit = () 2 | Characters 10-20: 3 | let () = raise Exit; () ;; (* warn *) 4 | ^^^^^^^^^^ 5 | Warning 21: this statement never returns (or has an unsound type.) 6 | Exception: Stdlib.Pervasives.Exit. 7 | 8 | -------------------------------------------------------------------------------- /testsuite/tests/typing-warnings/pr7297.ml: -------------------------------------------------------------------------------- 1 | (* TEST 2 | flags = " -w A -strict-sequence " 3 | * toplevel 4 | *) 5 | 6 | (* Ignore OCAMLRUNPARAM=b to be reproducible *) 7 | Printexc.record_backtrace false;; 8 | 9 | let () = raise Exit; () ;; (* warn *) 10 | -------------------------------------------------------------------------------- /testsuite/tests/unboxed-primitive-args/main.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/unboxed-primitive-args/main.reference -------------------------------------------------------------------------------- /testsuite/tests/unwind/driver.ml: -------------------------------------------------------------------------------- 1 | let () = 2 | Mylib.foo1 Mylib.bar 1 2 3 4 5 6 7 8 9 10; 3 | Mylib.foo2 Mylib.baz 1 2 3 4 5 6 7 8 9 10 4 | -------------------------------------------------------------------------------- /testsuite/tests/utils/test_strongly_connected_components.reference: -------------------------------------------------------------------------------- 1 | 2 | All tests succeeded. 3 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/deprecated_module.ml: -------------------------------------------------------------------------------- 1 | module M = struct 2 | type t = int 3 | 4 | let x = 10 5 | end 6 | [@@ocaml.deprecated] 7 | 8 | let _ = M.x 9 | include M 10 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/deprecated_module.mli: -------------------------------------------------------------------------------- 1 | [@@@ocaml.deprecated {| 2 | As you could guess, Deprecated_module is deprecated. 3 | Please use something else! 4 | |} ] 5 | 6 | module M: sig 7 | val x: int 8 | [@@ocaml.deprecated] 9 | 10 | type t 11 | [@@ocaml.deprecated] 12 | end 13 | [@@ocaml.deprecated] 14 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/deprecated_module.reference: -------------------------------------------------------------------------------- 1 | File "deprecated_module.ml", line 8, characters 8-11: 2 | Warning 3: deprecated: module M 3 | File "deprecated_module.ml", line 9, characters 8-9: 4 | Warning 3: deprecated: module M 5 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/deprecated_module_use.ml: -------------------------------------------------------------------------------- 1 | open Deprecated_module 2 | 3 | type s = M.t 4 | 5 | open M 6 | let _ = x 7 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/module_without_cmx.mli: -------------------------------------------------------------------------------- 1 | 2 | val id : 'a -> 'a 3 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/w04.ml: -------------------------------------------------------------------------------- 1 | [@@@ocaml.warning "+4"] 2 | 3 | type expr = E of int [@@unboxed] 4 | 5 | 6 | let f x = match x with (E e) -> e 7 | 8 | type t = A | B 9 | 10 | let g x = match x with 11 | | A -> 0 12 | | _ -> 1 13 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/w04.reference: -------------------------------------------------------------------------------- 1 | File "w04.ml", line 10, characters 10-40: 2 | Warning 4: this pattern-matching is fragile. 3 | It will remain exhaustive when constructors are added to type t. 4 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/w06.ml: -------------------------------------------------------------------------------- 1 | let foo ~bar = ignore bar (* one label *) 2 | 3 | let bar ~foo ~baz = ignore (foo, baz) (* two labels *) 4 | 5 | let () = foo 2 6 | let () = bar 4 2 7 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/w06.reference: -------------------------------------------------------------------------------- 1 | File "w06.ml", line 5, characters 9-12: 2 | Warning 6: label bar was omitted in the application of this function. 3 | File "w06.ml", line 6, characters 9-12: 4 | Warning 6: labels foo, baz were omitted in the application of this function. 5 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/w32b.ml: -------------------------------------------------------------------------------- 1 | 2 | (* Check that [t] is considered unused without an .mli file (see GPR#1358) *) 3 | module Q (M : sig type t end) = struct end 4 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/w32b.reference: -------------------------------------------------------------------------------- 1 | File "w32b.ml", line 3, characters 18-24: 2 | Warning 34: unused type t. 3 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/w33.reference: -------------------------------------------------------------------------------- 1 | File "w33.ml", line 8, characters 6-11: 2 | Warning 33: unused open M. 3 | File "w33.ml", line 16, characters 0-6: 4 | Warning 33: unused open M. 5 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/w50.ml: -------------------------------------------------------------------------------- 1 | module A : sig end = struct 2 | module L = List 3 | 4 | module X1 = struct end 5 | 6 | module Y1 = X1 7 | end 8 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/w50.reference: -------------------------------------------------------------------------------- 1 | File "w50.ml", line 2, characters 2-17: 2 | Warning 60: unused module L. 3 | File "w50.ml", line 6, characters 2-16: 4 | Warning 60: unused module Y1. 5 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/w51.ml: -------------------------------------------------------------------------------- 1 | 2 | let rec fact = function 3 | | 1 -> 1 4 | | n -> n * (fact [@tailcall]) (n-1) 5 | ;; 6 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/w51.reference: -------------------------------------------------------------------------------- 1 | File "w51.ml", line 4, characters 13-37: 2 | Warning 51: expected tailcall 3 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/w51_bis.ml: -------------------------------------------------------------------------------- 1 | let rec foldl op acc = function 2 | [] -> acc 3 | | x :: xs -> 4 | try (foldl [@tailcall]) op (op x acc) xs 5 | with Not_found -> assert false 6 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/w51_bis.reference: -------------------------------------------------------------------------------- 1 | File "w51_bis.ml", line 4, characters 12-48: 2 | Warning 51: expected tailcall 3 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/w54.ml: -------------------------------------------------------------------------------- 1 | 2 | let f = (fun x -> x) [@inline] [@inline never] 3 | let g = (fun x -> x) [@inline] [@something_else] [@ocaml.inline] 4 | 5 | let h x = (g [@inlined] [@ocaml.inlined never]) x 6 | 7 | let v = ((fun x -> x) [@inline] [@inlined]) 1 (* accepted *) 8 | 9 | let i = ((fun x -> x) [@inline]) [@@inline] 10 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/w55.opt_backend.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/warnings/w55.opt_backend.reference -------------------------------------------------------------------------------- /testsuite/tests/warnings/w58.opt.ml: -------------------------------------------------------------------------------- 1 | 2 | let () = print_endline (Module_without_cmx.id "Hello World") 3 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/w58.opt.opt_reference: -------------------------------------------------------------------------------- 1 | File "_none_", line 1: 2 | Warning 58: no cmx file was found in path for module Module_without_cmx, and its interface was not compiled with -opaque 3 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/w58.opt.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/warnings/w58.opt.reference -------------------------------------------------------------------------------- /testsuite/tests/warnings/w59.opt_backend.clambda.opt_reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/warnings/w59.opt_backend.clambda.opt_reference -------------------------------------------------------------------------------- /testsuite/tests/warnings/w59.opt_backend.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/warnings/w59.opt_backend.reference -------------------------------------------------------------------------------- /testsuite/tests/warnings/w60.mli: -------------------------------------------------------------------------------- 1 | module type Comparable = sig 2 | val id: int 3 | end 4 | 5 | module Fold_ordered(P: sig module Id:Comparable end): sig 6 | val foo: int 7 | end 8 | 9 | 10 | 11 | module M : sig end 12 | module O : sig end 13 | -------------------------------------------------------------------------------- /testsuite/tests/warnings/w60.reference: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/testsuite/tests/warnings/w60.reference -------------------------------------------------------------------------------- /testsuite/tests/win-unicode/exec_tests.precheck: -------------------------------------------------------------------------------- 1 | # exec_tests.ml disabled because it fails non-deterministically (at least under CI) 2 | # seems to be a problem redirecting handles 3 | exit 1 4 | -------------------------------------------------------------------------------- /testsuite/tests/win-unicode/exec_tests.reference: -------------------------------------------------------------------------------- 1 | test0 2 | OK 3 | test_environment 4 | test1 5 | test_argv 6 | OK 7 | -------------------------------------------------------------------------------- /testsuite/tests/win-unicode/symlink_tests.reference: -------------------------------------------------------------------------------- 1 | OK. 2 | -------------------------------------------------------------------------------- /tools/ocamldep.ml: -------------------------------------------------------------------------------- 1 | let () = Makedepend.main () 2 | -------------------------------------------------------------------------------- /wasm-tests/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /wasm-tests/README.md: -------------------------------------------------------------------------------- 1 | Not pretty, but effective way of testing the spec. 2 | -------------------------------------------------------------------------------- /wasm-tests/libasmrun.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/wasm-tests/libasmrun.wasm -------------------------------------------------------------------------------- /wasm-tests/test/array2.ml: -------------------------------------------------------------------------------- 1 | let array2 (x:int) = [|x|] 2 | 3 | let foo = 4 | [|10000000; 5 | 2; 6 | |] 7 | 8 | let ala () = foo.(0) 9 | let bla () = foo.(1) 10 | let cla () = foo.(2) 11 | let dla () = foo.(-1) 12 | -------------------------------------------------------------------------------- /wasm-tests/test/curried_function.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/wasm-tests/test/curried_function.wasm -------------------------------------------------------------------------------- /wasm-tests/test/file_a.ml: -------------------------------------------------------------------------------- 1 | let z x = File_b.a x 2 | 3 | let f = File_b.z ^ "!!!" 4 | -------------------------------------------------------------------------------- /wasm-tests/test/file_b.ml: -------------------------------------------------------------------------------- 1 | let z = "yo" 2 | 3 | let z = "yo2" 4 | 5 | let a b = b + 2 6 | 7 | let a b = b + 3 8 | -------------------------------------------------------------------------------- /wasm-tests/test/loop.ml: -------------------------------------------------------------------------------- 1 | let a b = ( 2 | let result = ref 0 in 3 | for i = 0 to 1000 do 4 | for j = 0 to 50 do 5 | result := b * i - j 6 | done 7 | done; 8 | !result 9 | ) 10 | -------------------------------------------------------------------------------- /wasm-tests/test/noncurried_function.ml: -------------------------------------------------------------------------------- 1 | let noncurried_function b = b + 15 2 | -------------------------------------------------------------------------------- /wasm-tests/test/noncurried_function.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SanderSpies/ocaml/52076459648c83efce9c97a64c140345107946cc/wasm-tests/test/noncurried_function.wasm --------------------------------------------------------------------------------