Commit Graph

163 Commits (0b6b544fcb3cb47f5f7b531d8d062c3d89538d0c)

Author SHA1 Message Date
Thomas Refis 4a22aeccb5 warning 60: enable on local modules 2019-08-28 13:24:10 +01:00
Gabriel Scherer 4c303cc88a Merge pull request #8826 from glondu/4.08-spelling-errors
Fix spelling errors reported by Lintian

(cherry picked from commit c808ce7068f3e31975594bcd5e6a41dceab3a80e)
2019-07-29 08:36:53 +02:00
Gabriel Scherer 101cd9e274
Merge pull request #8692 from lpw25/remove-may-map
Remove Misc.may_map and similar
2019-05-24 15:24:33 +02:00
Leo White acd06f1eff Remove Misc.may_map and similar 2019-05-23 16:27:58 +01:00
JPR 6dc59549ce Fixing misspellings 2019-05-21 10:23:27 +02:00
Mark Shinwell 6cbdfad125 Move some code from Asmgen to the middle end directory etc. (#2288)
Followup to (#2281)
2019-05-10 15:11:22 +02:00
Mark Shinwell 72ea849d2a
Move some middle-end files around (#2281)
* Various file moves in the middle end: this is the first stage of improving separation between the middle end and backend.
* Creation of file_formats/ directory (with associated file moves) to hold the definitions of compilation artifact formats.
* Creation of lambda/ directory (with associated file moves) to hold Lambda language definition files, transformation passes and construction passes from Typedtree.
* Disable (hopefully temporarily) dynlink, debugger and ocamldoc for the dune build.
2019-04-01 17:18:47 +01:00
Mark Shinwell c4272f7fe5 Shorten symbol names of anonymous functions in Flambda mode 2019-03-18 10:57:01 +00:00
Mark Shinwell e141d9e240
Add a few utility functions in Misc (#2284) 2019-03-15 11:28:19 +00:00
David Allsopp 46c32f8ce0 Additional executable file from GPR#614
Subsequently moved!
2019-02-27 10:19:09 +00:00
David Allsopp a16bef478e Remove unnecesary executable bit from sources
Added in cad3b523 in GPR#614 (presumably misconfigured core.fileMode)
2019-02-27 10:09:08 +00:00
Pierre Chambart 1e6c739811
Merge pull request #1579 from chambart/split_backend_primitives
Use a different type for primitives in clambda and lambda
2019-02-14 15:30:37 +01:00
Fourchaux 1946594bd7 Fixing typos in various files (#2246)
Note: Typos found with https://github.com/codespell-project/codespell

Here is the (semi-manual) command used to get (and correct) the typos:

$ codespell -i 3 -w --skip=".png,.gif,./ocaml/boot,./ocaml/.git,./ocaml/manual/styles,./ocaml/manual/manual/htmlman" -L minimise,instal,contructor,"o'caml",cristal,pres,clos,cmo,uint,iff,te,objext,nto,nd,mut,upto,larg,exten,leage,mthod,delte,tim,atleast,langage,hten,iwth,mke,contant,succint,methids,eles,valu,clas,modul,que,classe,missings,froms,defaut,correspondance,differents,configury,reachs,cas,approche,normale,dur,millon,amin,oje,transfert
2019-02-13 14:04:56 +01:00
Pierre Chambart 94b50698ce Rename for_primitive_clambda to for_primitive 2019-02-11 17:16:44 +01:00
Pierre Chambart 6dfd40f72f Push clambda_primitives to flambda 2019-02-11 17:16:44 +01:00
Pierre Chambart 7c5cc144a5 Clean string load/set primitives 2019-02-11 17:16:43 +01:00
Pierre Chambart 55209629d0 Clean Clambda_primitive 2019-02-11 17:16:43 +01:00
Thomas Refis 742c65d30b List.filter_map (#2185) 2018-12-12 16:29:50 +01:00
Alain Frisch 9b27a9c75e
Optimize some local functions (#2143) 2018-11-27 17:54:07 +01:00
Alain Frisch 7a746deed1
Keep more type information in Lambda (#2156)
* Propagate type information about function parameters and return

* Keep value kind on staticcatch parameters
2018-11-23 15:34:05 +01:00
Alain Frisch 7baf33d6ad
Fix PR6638: add dedicated wrning for "unused open!" (#1110) 2018-11-09 13:41:34 +01:00
Daniel Bünzli a7afd89003 s/string_of_int/Int.to_string/g 2018-11-07 13:52:02 +01:00
Armaël Guéneau 6a8c46ff3a Avoid losing information when using Debuginfo.from_location 2018-10-17 11:22:57 +01:00
Thomas Refis fc210f08e4 ident: hide stamp related functions from the interface
The only remaining user was [Predef], which was bumping the counter by
999 to allow cmis to remain compatible if new predefs were defined.
This commit removes that use by making sure that every ident defined in
predef.ml is marked as predef and use a different stamp counter as user
defined idents. That way idents in cmi always start at 1, no matter how
many predefs there are.

Stamps on predef aren't strictly necessary: predefs names are unique.
However, predef idents comparison is just faster with stamps.
2018-09-21 11:47:44 -04:00
Thomas Refis b134588f28 ident: split Local into Local and Scoped
Also rename [create] into [create_scoped] and [create_var] into
[create_local].
2018-09-21 11:47:44 -04:00
Thomas Refis 67f29d1a18 ident: add an explicit scope field
- Ident.create now takes a scope as argument
- added Ident.create_var to use when the scope doesn't matter
- the current_time and the current_level are unrelated as of this
  commit. But one has to remember to bump the level when creating new
  scopes.
2018-09-21 11:47:42 -04:00
Thomas Refis bc9a1de20b middle_end: break a cycle 2018-09-12 16:13:51 +01:00
Jérémie Dimino 9124ab82d1
Deprecate Pervasives (#1605)
- inline Pervasives in Stdlib and re-add Pervasives as a deprecated
module that aliases all elements of Stdlib except the stdlib modules.

- remove special case for Stdlib.Pervasives in printtyp.ml
2018-08-27 12:42:14 +01:00
Armaël Guéneau c0820e30cb Location: significantly rework the code printing errors and warnings 2018-08-08 17:42:08 +02:00
sliquister ae1317caae Add option to dump the output of e.g. -dlambda in a file (#1913) 2018-07-27 08:51:53 +01:00
Valentin Gatien-Baron 1ddb7ad725 rename Clflags.fast as Clflags.unsafe
The variable and the flag got out in sync in
2977939b5a.
2018-07-15 15:08:47 -04:00
Valentin Gatien-Baron 0444eac687 Print warnings on the warnings formatter in the couple of places that don't
Except the OCAMLPARAM stuff, as that runs before the command line
warning settings are even parsed, so while they are reported using the
normal warnings code, they don't look like normal warnings.
2018-07-15 15:00:47 -04:00
Xavier Clerc cd06e22582 Shadow the polymorphic comparison in the middle-end (#1811) 2018-07-11 13:50:02 +02:00
David Allsopp b5d1929e87 Whitespace and overlong line fixes. 2018-06-14 15:15:34 +01:00
poechsel 35e6e70ad6 fix non removal of empty let_rec_symbol constructors (#1824) 2018-06-08 06:55:46 -04:00
Xavier Clerc 49303bee92 Remove leftover from GPR#1627. (#1817) 2018-06-04 14:52:01 +02:00
Xavier Clerc 2bbfc9d2f4 Review. 2018-06-01 12:25:57 +01:00
Xavier Clerc 7f0339293c Use bit-pattern comparison when meeting float approximations. 2018-06-01 11:42:51 +01: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
alainfrisch 7110e3e4fd Fix build (tentatively) 2018-04-09 11:42:40 +02:00
Gabriel Radanne b073f825de Make Ident.t abstract and immutable. (#1704) 2018-04-09 10:19:23 +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
Damien Doligez e52f39cbe9 Revert "Replace constant pointers by regular integers (#1580)"
This reverts commit 022051e7bd.
2018-04-06 16:09:53 +02:00
Damien Doligez d42422a0cf Revert "Continuation of GPR#1580 (022051e7bd): bootstrap to remove Lambda.Const_pointer"
This reverts commit b4fa820b78.
2018-04-06 16:09:53 +02:00
Xavier Clerc 4d5852d3f9 Reduce the size of cmx files in classic mode (flambda) (#1665)
Reduce the size of cmx files in classic mode by keeping function bodies iff they can be inlined.
2018-04-06 09:26:43 -04:00
Xavier Clerc 7a9723b39f Refactor inlining/specialisation (flambda) (#1663) 2018-04-06 10:19:39 +01:00
Xavier Clerc 79189b2482 flambda: ensure that set-of-closures are processed first (#1613) 2018-04-06 10:01:43 +01:00
hhugo de6b8af8e2 Cleanup: remove Pbittest (#1679) 2018-04-06 09:28:20 +01:00