Commit Graph

316 Commits (8e801959e84e73219190dedad0b5b62b1f4f50a3)

Author SHA1 Message Date
Mark Shinwell 2b5f13c913 GPR#2056 (Backend_var) 2018-09-28 17:59:01 +02:00
Thomas Refis bc9a1de20b middle_end: break a cycle 2018-09-12 16:13:51 +01:00
Gabriel Scherer 4551fa8478 make depend 2018-09-01 23:17:06 +02:00
Gabriel Scherer d09349f631 rename parsing/parser_menhir into parsing/parser 2018-09-01 23:17:06 +02:00
Gabriel Scherer e6ecea4008 remove the yacc parser
The large diff in boot/menhir/parser_menhir.ml comes from the fact
that the token list is now included in it, instead of being merely
a reference to the yacc parsers' Parser.token type.
2018-09-01 23:17:06 +02:00
Gabriel Scherer f571282d7d menhir parser: rename MenhirLib into CamlinternalMenhirLib
The goal of this change is to avoid conflicts encountered by
compiler-libs users that would also use their own MenhirLib runtime
for their own parsers.

I first tried to implement a solution to this module-name-conflict
issue using module aliases and -open, but this proven too fragile and
too difficult to get right.
2018-09-01 23:17:04 +02:00
Gabriel Scherer a16523469a udpate .depend and .gitignore for menhir files 2018-09-01 23:17:03 +02:00
Gabriel Scherer d5c76eaa9f make alldepend 2018-08-06 17:31:52 +02:00
Hugo Heuzard 1ac5954ca7 depend 2018-08-06 13:19:28 +01:00
Drup abc0b7e3ed Add compile_common.ml which contains the basic compilation pipeline.
Factorize the part from compile.ml and optcompile.ml.
2018-07-27 15:07:43 +02:00
Xavier Clerc 7e29162582 Pass the elements from `BUILD_PATH_PREFIX_MAP` to the assembler (#1930) 2018-07-27 12:25:23 +02:00
Gabriel Radanne 1be47bf7ab Just some tbl things. (#1699) 2018-07-23 13:19:41 +01:00
Jacques Garrigue 7aa377a630
New attempt at fixing MPR#7726 (#1676)
* Fix MPR#7726 by re-checking recursive modules in signatures after substitution
* Check module applications when translating types in Typetexp
* Check all results of functor applications lazily
* Reduce the overhead of checking module types by building the environment lazily
2018-07-13 05:29:59 +09:00
Gabriel Scherer 3ae69ade97 make depend after cd06e22582 2018-07-12 00:00:07 +01:00
Xavier Clerc cd06e22582 Shadow the polymorphic comparison in the middle-end (#1811) 2018-07-11 13:50:02 +02:00
Armael 7c9c210884 Move Location.absname to Clflags.absname (#1886) 2018-07-06 13:43:28 +01:00
Gabriel Scherer feb27cfd94 make alldepend 2018-06-19 15:00:22 +02:00
Sébastien Hinderer 9b998f9b62 Fix dependencies 2018-05-29 08:25:17 +02:00
Thomas Refis e63e8421a1 move Rec_check out of typecore 2018-05-23 10:53:53 +01:00
Sébastien Hinderer 58f23cc435 Update dependencies 2018-05-02 10:47:28 +02:00
Xavier Clerc d88dbba9a0 Flambda: Add [Closure_origin.t] to trace inlined functions (merged) (#1707) 2018-04-10 10:33:28 +01:00
Leo White 656aa42677 Organise and simplify translation of primitives 2018-04-09 13:00:01 +01:00
Leo White bc9f032e2a Reduce cmx sizes by sharing variable names (#1627) 2018-04-09 08:43:47 +01:00
Xavier Clerc 835cad1686 Further reduce the size of cmx files (flambda) (#1666) 2018-04-09 07:46:50 +01:00
Hugo Heuzard 952fe49bac depend 2018-04-05 18:08:30 +01:00
Nicolás Ojeda Bär 242b6f20a1 make depend 2018-03-15 18:26:51 +01:00
Gabriel Scherer 0489cfaf9e build_path_prefix_map: update .depend and Makefiles 2018-03-01 17:41:28 +01:00
Sébastien Hinderer fa7019437c Add the -dunique-ids and -dno-unique-ids options to the compilers
These options allow to control whether identifiers are made unique by
appending a stamp to them when dumping intermediate representations or not.

The default is to print the stamp, as is done currently.

The "-dno-unique-ids" option is useful e.g. to simplify the comparison
between a produced intermediate reprsentation (-dlambda, say) and the
expected one, in the context of the testsuite, for instance.
2018-02-20 18:02:35 +01:00
Jeremie Dimino 84304a3282 Core review work
- Apply the __ heuristic more systematically
- Update tests
- Fix Windows builds
2018-02-12 08:29:17 +00:00
Gabriel Scherer cc5b7ef6be make alldepend 2018-02-05 19:30:48 +01:00
Valentin Gatien-Baron a9aef5629b Improve error reporting for ill-typed applicative functor type, F(M).t 2017-12-12 23:51:19 -05:00
Thomas Refis 60c5f6fe91 parmatch: split pretty printing out into Printpat 2017-12-04 12:11:21 +00:00
Jacques Garrigue 70b02405e0 Merge pull request #1365 from yallop/let-rec-patch-406
GPR#556, PR#7215, PR#7231, PR#6738: Add a new check that 'let rec' bindings are well formed.
2017-09-22 15:37:10 +09:00
Xavier Leroy ffa6b1ee8f Rebuilt .depend
Several asmcomp/ dependencies were missing, parallel builds failed.
2017-09-18 19:34:14 +02:00
Mark Shinwell b65096678b Register availability analysis (#856) 2017-09-15 11:08:14 +01:00
alainfrisch d1d4c6b819 Better direct support for ocaml.ppwarning attribute.
Previously, there was a dedicated traversal of the Parsetree to
collect and report all ocaml.ppwarning attributes.  This approach has
the drawback that ocaml.warning settings for the current scope around
the ocaml.ppwarnign attribute were not taken into account.

Thanks to previous commits, we have a specific place in the code were
all attributes go through.  So we re-use it to detect ocaml.ppwarning
attributes, completely avoiding the dedicated traversal and the
drawback mentioned above.
2017-09-12 00:36:46 +02:00
sliquister 3f76c0525b generalize -dtimings to show allocation, top heap size (#1152) 2017-06-09 12:29:21 +01:00
Fabrice Le Fessant 8daa184d95 New -depend option for ocamlc/ocamlopt 2017-06-01 15:56:30 +02:00
Alain Frisch 1a93a20f37 Merge pull request #1138 from alainfrisch/pr7444_deprecated_warning_upon_inclusion
Deprecation warning when checking signature inclusion
2017-05-15 18:06:31 +02:00
hhugo b14e6fee9b Compiler: -compat-32 flag when building cmo/cma. (#896)
* Complier: -compat-32 flag when building cmo/cma.

Compiler: refactor -compat-32 support

Update Changes

Complier: more -compat-32 checks in emitcode.

* add tests for the -compat-32 flag
2017-05-05 07:18:40 +01:00
Sébastien Hinderer 40fcbb5f0a Move configuration header files from the config to the byterun/caml directory
This commit moves:
  - config/m.h to byterun/caml/m.h
  - config/s.h to byterun/caml/s.h

Consequently, m.h and s.h now get installed alongside other
OCaml header files.

This commit also updates the .depend files, introducing updates in the
dependencies which are not consequences of this commit itself.
2017-04-26 19:28:17 +02:00
alainfrisch f6d53cc38f Deprecation warning when checking signature inclusion
Deprecation warning (3) is currently only reported when directly
accessing a component marked with the deprecated attribute; but it is
missed when we coerce the signature contaning the deprecated component
to a signature without the attribute.

This commit adds the required machinery to detect such cases
and report the same warning. (An alternative design could be
to introduce a new warning for that purpose.)

Some of the new machinery could be used for other purposes:

  - During the inclusion check, keep the location that would used in
    the error message if the check fails.

  - Warnings can now hold extra "sub-locations" (and associated
    messages).
2017-04-05 19:13:59 +02:00
Pierre Chambart cb81cc6fe2 Declare record type for flambda function parameters (#1028) 2017-03-16 10:40:47 +00:00
Sébastien Hinderer 9e81b0fb4b Update .depend files 2017-03-09 17:12:02 +01:00
Valentin Gatien-Baron bf96a7ac42 display the output of -dtimings as a hierarchy 2017-03-07 15:43:57 -05:00
Nicolas Ojeda Bar e75c87dc48 Initial import of linear-scan-register-allocator
The code in this commit was written by Marcell Fischbach & Benedikt Meurer.
See [Mantis#5324](http://caml.inria.fr/mantis/view.php?id=5324) for some
context.

The code (which was originally written against 3.12) was ported to trunk by
doing

```bash
git clone https://github.com/bmeurer/ocaml-experimental/
cd ocaml-experimental
git diff master...linear-scan-register-allocator > t.diff
```

and then applying the diff by hand.
2017-02-22 17:09:18 +01:00
alainfrisch 5dce0914e2 Move Semantics_of_primitives to bytecomp/ and use it in closure. 2017-01-03 15:21:15 +01:00
Gabriel Scherer 1cd606fd04 update .depend 2016-12-23 14:48:09 -05:00
Alain Frisch 807928cc50 Merge pull request #915 from objmagic/more-pprintast-fix
more -dsource bug fix
2016-12-19 12:16:11 +01:00
David Allsopp d168db2c78 make alldepend 2016-12-14 13:14:21 +00:00