Commit Graph

252 Commits (b02d9ae2fa3b36226ae171c5df154cf92039433f)

Author SHA1 Message Date
alainfrisch 8d9dd27cd4 Move depend.ml into compilerlibs (ocamlcommon).
This allows external tools to rely on the features provided by this module.  An example
is ocamldoc itself, which could now be implemented as an external tool.

Note that LexiFi variants of OCaml has been embedding depend.ml in the compiler for a long
time in order to support a stricter dependency mode where the compiler is only allowed to load .cmi
files corresponding to dependencies as inferred by ocamldep (hereby ensuring that ocamldep is
sound by construction).
2016-04-13 16:46:32 +02:00
alainfrisch 43f90e9f58 Local let exceptions. 2016-03-15 22:02:55 +01:00
Alain Frisch 8a19a63d8c Really refresh dependencies. 2016-03-15 15:31:29 +01:00
Alain Frisch 04b67e474d Update .depend (should be more stable now). 2016-03-15 15:24:25 +01:00
Mark Shinwell 5dced42768 Merge pull request #480 from mshinwell/flambda_unbox-closures
GPR#480: Flambda fix: try to make Unbox_closures behave more reasonably
2016-02-26 16:18:04 +00:00
Mark Shinwell a397511031 Import latest Flambda changes 2016-02-09 09:59:26 +01:00
Gabriel Scherer ec190a03a3 .depend: driver/optmain depends on asmcomp/proc 2016-02-08 16:01:31 -05:00
Pierre Chambart b0b0f6609c Enable flambda 2016-01-28 15:04:47 +01:00
Nicolas Ojeda Bar e343dd0ba6 Adapt emit_external_warnings and error_if_has_deep_native_repr_attributes 2016-01-27 23:05:28 +01:00
Nicolas Ojeda Bar 92d679f791 Use Ast_iterator for Ast_invariants 2016-01-27 23:02:23 +01:00
Jeremie Dimino d8704f6ba8 Add module Ast_invariants
This module checks all the AST invariants. This is to ensure that all
invariants are written down in one place and are consistently checked
between the various clients of the AST (typer, pprintast, ...).

The invariants are checked in Pparsee, after applying the ppx
rewriters.
2016-01-27 18:41:12 +00:00
Leo White ebd1a90dcd Update .depends 2016-01-26 11:26:40 +00:00
Pierre Chambart 050c454765 Add middle_end to Makefiles 2016-01-22 01:24:02 +01:00
Mark Shinwell fb4d06a3aa Clflags stuff and Arg_helper 2016-01-14 11:27:30 +00:00
octachron c739d0e590 Update dependence file 2016-01-13 17:30:14 +02:00
Mark Shinwell 0ac2fc54b5 Merge pull request #369 from mshinwell/flambda_prereq-scc
GPR#369: Strongly connected components
2016-01-12 18:18:45 +01:00
Mark Shinwell b779463a07 Merge remote-tracking branch 'ocaml/trunk' into flambda_prereq-scc 2016-01-12 15:21:50 +01:00
Mark Shinwell cf06b87981 remake .depend 2016-01-12 15:18:58 +01:00
Pierre Chambart 09d4bc9025 Fix testsuite for strongly_connect_components 2016-01-12 14:43:17 +01:00
Mark Shinwell 96287792b4 Move color_setting into Misc.Color 2016-01-12 14:35:17 +01:00
Mark Shinwell f9a3d0d9c1 merge with trunk 2016-01-12 13:48:39 +01:00
Mark Shinwell b53e5789bc Move split_default_wrapper to Simplif 2015-12-23 16:24:52 +00:00
Mark Shinwell 852efd270e Merge with trunk; remake dependencies 2015-12-22 16:28:35 +00:00
Mark Shinwell a972d4df72 Fix Makefiles 2015-12-18 17:00:46 +00:00
Mark Shinwell 4f0badde0c move Debuginfo into bytecomp/ 2015-12-18 16:26:30 +00:00
Pierre Chambart 53a1d4854c .depend 2015-12-18 13:35:44 +00:00
Pierre Chambart f6878c2946 .depend 2015-12-18 13:34:42 +00:00
Hugo Heuzard 9eca3e4519 Parse arbitrary precision integers ..
.. and allow any letter in [g-zG-Z] as modifier (previously 'l','L','n')
Also allow modifier for floats
This give more freedom to ppx rewritters (what about a ppx for zarith)

Checks are performed when translating from Parsetree to Typedtree.
Invalid_literal is raised if the modifier is not recognized ([lLn]?)
Integer_overflow is raised as before.

Lexer: use g-zG-Z for integer literal modifier

Lexer: Allow modifier on float

Clean wrt previous commits

Lexer: use named substring

Cleanup

typo

doc

fix after rebase

rebase on  trunk

Update typecore.ml

Fix printast.ml
2015-12-03 17:20:48 +01:00
Alain Frisch be66fcc145 Update .depend. 2015-12-02 14:49:19 +01:00
Thomas Refis 8a98551d1f make depend 2015-12-01 10:56:41 +00:00
Mark Shinwell e27e699fca GPR#173: Attributes to control inlining
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16530 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-23 08:18:08 +00:00
Jérémie Dimino e982d6906e Update printing of externals
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16457 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-06 10:58:25 +00:00
Jérémie Dimino 695a592d48 Support [@@noalloc] on external declarations
This is to replace the "noalloc" annotation.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16454 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-06 10:58:20 +00:00
Jérémie Dimino d24221cb5f Use Attr_helper in typing/typedecl.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16452 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-06 10:58:18 +00:00
Jérémie Dimino f78f46bcce Add parsing/Attr_helper
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16451 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-10-06 10:58:17 +00:00
Jérémie Dimino 1d196f4ddd Support [@unboxed] and [@untagged] attributes
Adding [@unboxed] (resp [@untagged]) on a primitive argument means
that the argument must passed unboxed (resp untagged) to the external
function. Adding [@unboxed] (resp [@untagged]) on the result means
that the external function returns its result unboxed (resp untagged).

The unboxing (resp untagging) method is derived from the type.

Currently unboxing is suported for: float, int32, int64 and nativeint.
Untagging is supported for int.

This patch also increases the cm{i,o,a,x,xa} magic numbers as the type
Primitive.description is changed.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16382 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-25 16:18:46 +00:00
Gabriel Scherer 9a533a50cd make alldepend
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16352 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-15 15:57:59 +00:00
Gabriel Scherer cb3bb152ab add option handling for colors in compiler, OCAMLPARAM and ocamlbuild
(Simon Cruanes and Gabriel Scherer)

Use one of
  -color auto
  -color always
  -color never

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16348 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-15 15:57:51 +00:00
Gabriel Scherer 1957021b27 make alldepend
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16318 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-08-02 18:34:09 +00:00
Damien Doligez 4b83d53fbc update .depend and bootstrap compilers after 4.02 merge
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16218 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-07-17 18:34:07 +00:00
Damien Doligez 860c670848 merge branch 4.02 from 4.02.1 (rev 15540) to a few fixes after 4.02.2 (rev 16205)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16214 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-07-17 14:31:05 +00:00
Leo White 5c55e4cc08 Attach documentation comments to Parsetree
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16189 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-06-28 13:11:50 +00:00
Mark Shinwell 8df90ef051 Port fix for GPR#191 to trunk (making gc.h and some part of memory.h public)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16163 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-06-08 13:21:42 +00:00
Damien Doligez 0477bab3bf deduplicate some startup code and fix PR#6808: the parsing of OCAMLRUNPARAM is too lax
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@16074 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-05-04 15:44:40 +00:00
Gabriel Scherer 06a78807fb Update Makefile and .depend for untypeast.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15887 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-03-08 10:22:34 +00:00
Gabriel Scherer 304c9c91a5 PR#6468: toplevel now supports backtraces if invoked with OCAMLRUNPARAM=b
(Peter Zotov and Jake Donham,
 review by Gabriel Scherer and Jacques-Henri Jourdan)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15830 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2015-02-08 14:10:12 +00:00
Gabriel Scherer 7ca29ef3f7 PR#5887: move the byterun/*.h headers to byterun/caml/*.h to avoid header name clashes
(Jérôme Vouillon and Adrien Nader and Peter Zotov)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15757 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-27 14:41:49 +00:00
Alain Frisch 9d450a05e0 Replace TypedtreeMap with a more standard open-recursion iterator Tast_mapper. Keep TypedtreeMap/Iter for now, for external projects.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15739 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-12-22 09:36:41 +00:00
Alain Frisch 8b9733eb3a Support for the byte directive under solaris 32-bit.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15616 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-28 15:44:02 +00:00
Alain Frisch 9decba7731 Rename Intel_* to X86_*.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/abstract_intel_emit@15612 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-11-27 17:12:21 +00:00