summaryrefslogtreecommitdiff
path: root/driver
Commit message (Collapse)AuthorAgeFilesLines
* Added lambda option to -stop-after comiler flag and logic to compile_common, ↵Doug Smith2023-01-123-27/+42
| | | | | | | | compile, and optcompile to terminate compilation after lambdas are resolved based on this option. Co-authored-by: Doug Smith <dsmith47@nd.edu> Co-authored-by: Dmitrii Kosarev <Dmitrii.Kosarev@pm.me>
* Add the -no-g option to ocamlc and ocamlopt (#11696)Abiola Zeenat Abdulsalam2022-11-182-1/+9
|
* Merge pull request #11653 from Abiola-Zeenat/ZhienartSébastien Hinderer2022-11-033-0/+14
|\ | | | | Add the -no-absname option to ocamlc, ocamlopt and ocamldep
| * Add the -no-absname option to ocamlc, ocamlopt and ocamldepAbiola Zeenat2022-10-283-0/+14
| |
* | remove the -force-tmc flag (#11661)Gabriel Scherer2022-10-272-12/+0
|/ | | | | | | | | | | | | | | -force-tmc was initially implemented by Frédéric Bour as a way to implement "automatic TMC optimization" on top of the default behavior which is "opt-in TMC optimization". We later decided to disable it, because its usage was in tension with the goals we were setting for the opt-in mode (in particular: have proper warnings and errors when something that could be unexpected is going on). It was kept for debugging purposes, and apparently found a way to skean in the final merge for TMC (very probably my mistake), but in a state where it is actually a no-op. (cherry picked from commit a7fbbfa48edc3d7ba2b839dc76d93b53ff4ca7f3)
* Manual chapters on parallelism and memory model (#11280)KC Sivaramakrishnan2022-10-041-1/+1
| | | Add manual chapters on parallelism and memory model
* Enable -strict-formats by default (#11565)Nicolás Ojeda Bär2022-09-261-2/+2
|
* add -safer-matching flag to disable type-based optimization of pattern-matchingJacques Garrigue2022-07-192-0/+11
|
* Provide an interface for driver/optmain.mlSébastien Hinderer2022-06-301-0/+19
|
* Provide an interface for driver/main.mlSébastien Hinderer2022-06-301-0/+19
|
* Add ?auto_include to Compmisc.init_pathDavid Allsopp2022-06-072-2/+3
|
* Add ?auto_include to Toploop.set_pathsDavid Allsopp2022-06-071-2/+1
| | | | | Provides an easier way for alternate toplevels to disable the automatic inclusion mechanism.
* Make sure ocamlopt recognizes the -cmi-file command-line optionSébastien Hinderer2022-05-251-0/+1
| | | | | | Before this commit, the -cmi-file option was recognized only by ocamlc. This commit makes sure the option is also recognized by ocamlopt.
* Display an alert if -I +unix, etc is missingDavid Allsopp2022-05-241-2/+3
|
* Add a hook for misses in Load_pathDavid Allsopp2022-05-242-0/+12
| | | | | | Load_path.find{,_uncap} now invoke a hook before raising Not_found, which provides a mechanism for automatically adding directories to the Load_path if required.
* flag -nocwd: do not implicitly add the current directory to the load paththomasRgl2022-04-164-3/+22
|
* Add a -noslash option to ocamldepSébastien Hinderer2022-03-232-0/+3
| | | | | | This is so that a user can override a -slash option. This change has been kindly contributed by David Allsopp.
* Remove uses of ;; from the codebaseSébastien Hinderer2022-02-254-197/+16
|
* Normalize the minor version number of the compiler (#11049)Sébastien Hinderer2022-02-241-2/+2
| | | | It's no longer 5.00.0 but 5.0.0. The minor version number is no longer padded with a leading zero.
* Implement a -cmi-file option for ocamlc and ocamloptSébastien Hinderer2022-02-112-0/+9
| | | | | | | | This lets the user specify against which interface a source module should be type-checked. When this option is specified, the usual check for a corresponding .mli file is skipped.
* Remove configuration options --disable-force-safe-string and ↵Kate2022-02-014-36/+29
| | | | | DEFAULT_STRING=unsafe (#10893) The compiler should behave as previous versions with `force-safe-string` enabled, and reject with an error any explicit setting that would try to deviate from that.
* Merge pull request #10575 from Octachron/dump-dirFlorian Angeletti2021-12-036-12/+41
|\ | | | | Add a `-dump-dir` flag
| * add a dump-dir flags, make dprofile respect dump directivesFlorian Angeletti2021-12-026-12/+41
| |
* | [minor fix] add -dshape option to ocaml{opt,nat}, not just ocaml{,c}Gabriel Scherer2021-12-021-0/+2
|/
* Shapes: Add -dshape flag for debugging and testing purposesUlysse Gérard2021-11-093-0/+11
| | | | Co-authored-by: Thomas Refis <thomas.refis@gmail.com>
* Add -dlambda to ocamlnat optionsStephen Dolan2021-11-041-0/+1
|
* prepare for TMC (tail modulo cons) transformationFrédéric Bour2021-11-022-0/+13
|
* Fix regression introduced by #9660Sébastien Hinderer2021-09-081-1/+1
| | | | | This commit restores the compiler's behaviour when called on a C file and with no "-o" otption.
* Disable colors if NO_COLOR env var set (#10560)Nicolás Ojeda Bär2021-08-071-0/+5
|
* Split labels and polymorphic variants tutorials; move GADTs into tutorial ↵John Whitington2021-06-231-1/+1
| | | | | | | (#10206) * Split Labels / Variants chapter into two * Move GADT tutorial into the tutorials * Make beginning of the GADT tutorial less abrupt
* added -e eval option for runtop and natruntopzett982021-06-052-0/+10
|
* Partially reindent Makedepend.run_mainKate2021-05-101-60/+60
|
* Fix ocamldep -helpKate2021-05-101-72/+79
|
* Merge pull request #10289 from Zett98/do_not_print_options_in_usage_messageGabriel Scherer2021-05-075-12/+45
|\ | | | | Fix for #9295.Do not print options in usage msg
| * dont print options in usage msgzett982021-05-065-12/+45
| |
* | Merge pull request #1400 from lthls/cmm_invariantsGabriel Scherer2021-04-293-0/+11
|\ \ | | | | | | Cmm invariants
| * | Add cmm-invariants to OCAMLPARAMVincent Laviron2021-04-191-0/+2
| | |
| * | Add an optional check for invariants on the Cmm representationVincent Laviron2021-04-192-0/+9
| | |
* | | Remove the availability analysis (#10355)Xavier Leroy2021-04-232-20/+0
|/ / | | | | | | | | | | | | | | | | | | The availability analysis was introduced in 2017 as part of GPR #856, as a first step towards generating DWARF debugging information. This project (generating DWARF debug info) was stopped, but the analysis is still here, even though its results are not used and it is not normally run (except when the experimental -drunavail flag is given). This is essentially dead code. This PR removes it.
* | Correct documentation of -config-varDavid Allsopp2021-04-141-1/+1
| |
* | Remove unused labelsLeo White2021-03-221-2/+0
| |
* | compiler interface: deprecate single letter warningoctachron2021-03-152-5/+10
|/ | | | | | | | | | For instance, -w "Ae" now raises an ocaml_deprecated_cli alert. Setting warning with prefixed letters (-w "+a-e") is clearer and coexists better with named warnings (-w +fragile-match). In particular, this new alert should warn on spelling mistakes like -w +fragile-math
* Call linker even when Clflags.objfiles is empty to link .o .a filesGreta Yorsh2021-02-113-2/+7
| | | | Record when linker inputs are specified on command line.
* Extend -o to work when compiling C filesSébastien Hinderer2021-01-051-8/+9
| | | | | | | | | | | | | | | | | | | | When using ocamlc/ocamlopt to compile C files, it was not possible so far to control where the resulting object file should be written. In other words, before this commit a command like ocamlopt -c foo.c -o /tmp/foo.o produced the following error message: Options -c and -o are incompatible when compiling C files This commit removes this restriction and lets the compiler accept that the command-line options -c and -o are given simultaneously also when compiling one C file, so that the previous command now works. The -o command-line option remains forbidden when compiling several source files.
* Fix linting errorsLeandro Ostera2020-11-061-1/+2
|
* Rename Typedtree.t to Typedtree.implementationLeandro Ostera2020-11-053-5/+9
|
* Move typed_impl to Typedtree.tLeandro Ostera2020-11-055-8/+8
|
* Introduce typed_impl recordLeandro Ostera2020-11-055-27/+13
|
* Expose module signature when typing implementationLeandro Ostera2020-11-055-9/+15
| | | | | | | | | | | | | | | | | While working on a new backend for OCaml to generate Erlang sources, I found the need to read the .cmi file back into a `Types.signature` value. @Drup spotted that I was reading the file and pointed out this value was already being read during the type checking process. A quick check at the `Typedtree.module_coercion` showed us that it would be difficul to extract the same information that is readily available in the signature value. This change will expose the signature value directly, so other backends relying on this signature information do not need to do the extra work of reading it again.
* ability to restart compilation from .cmir-linear IR files Greta Yorsh2020-10-138-38/+64
|