Damien Doligez
cf6714ead2
PR#6142: add cmt file support to ocamlobjinfo
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15028 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-24 18:08:40 +00:00
Jérémie Dimino
906eb3dddc
better fix for the travis script
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15024 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-23 10:11:47 +00:00
Jérémie Dimino
b127859dd1
update the travis script for new opam release
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15023 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-23 09:50:44 +00:00
Xavier Leroy
a9879e2119
Reflecting commit 15021 on version/4.02:
...
Follow-up to commit 15012: keeping checkbound equations is useless when load equations have been forgotten, as all checkbounds involve a load of a block header. So, simplify things further by emptying the numbering after calls and allocs.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15022 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-23 07:46:59 +00:00
Damien Doligez
6ba26a91f2
allow long lines up to 132 chars in ocamldoc
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15018 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-21 20:41:52 +00:00
Damien Doligez
9ac64ba6a4
PR#6406: Expose OCaml version in C headers
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15017 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-21 20:39:38 +00:00
Xavier Leroy
127c288ae5
Reflecting commit 15012 on version/4.02:
...
PR#6484 and PR#6486: CSE across memory allocations can present the GC with memory roots that are illegal.
Plus: lift the previous restriction that all arithmetic ops and loads have at most one result register, this isn't true for ARM with soft floats.
Plus: code refactoring and more comments.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-18 14:11:33 +00:00
Xavier Leroy
d7f3235c1b
Reflecting commit 15010 on version/4.02:
...
PR#6460: runtime assertion failure with large [| e1;...eN |]
float array expressions
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15011 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-18 09:14:02 +00:00
Xavier Leroy
cd80c42655
Reflecting commit 15006 on version/4.02:
...
Typo in destroyed_at_alloc and destroyed_at_c_call, D17 was incorrectly claimed to be preserved.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15007 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-17 07:39:16 +00:00
Mark Shinwell
a68f192d48
CSE bug on amd64: Ifloatsqrtf involves a memory load
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15004 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-16 09:24:59 +00:00
Mark Shinwell
5208fbc99f
mantis 6489 (fix by Richard Jones)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15002 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-16 06:35:43 +00:00
Gabriel Scherer
e331dacf29
PR#6482: ocamlbuild fails when _tags file in unhygienic directory
...
ocamlbuild lazily traverses directory to build a vision of the
filesystem tree in which the build happens. During that traversals, it
parses any configuration file `_tags` it encouters. PR#6482 was caused
by the fact that the configuration-parsing code used the relative path
of the _tags file, which was correct at the time of traversal, but
stale at the time the lazy thunk was in fact forced (a Sys.chdir had
occured in between).
The first fix is to detect when relative paths become stale, and use
the correct absolute path in that situation.
The reason why this lazy thunk was only forced after a Sys.chdir is
that, at hygiene time, only the subtrees that are selected for hygiene
checking are forced. It is an unexpected behavior that non-hygienic
subtrees could remain unforced for so long (in particular, the
semantics of parsing a configuration file only much later in the build
process is more than unclear); this commit also removes this behavior
by always forcing the whole traversed subtree just before hygiene.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15000 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-14 14:44:53 +00:00
Damien Doligez
529ad3ed12
PR#6469: -dsource prints Pervasives.(!) as Pervasives.!
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14998 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-07-11 12:07:54 +00:00
Gabriel Scherer
49d3f7b9f8
PR#6418: support "@[<hov %d>" in the new format implementation (Benoît Vaugon)
...
The bootstrap procedure, as for commit trunk@14973 (see there for
detailed build instructions), requires to first commit a temporary
patch:
> diff -Naur old/typing/typecore.ml new/typing/typecore.ml
> --- old/typing/typecore.ml 2014-06-11 18:16:24.851647309 +0200
> +++ new/typing/typecore.ml 2014-06-11 18:15:50.075646418 +0200
> @@ -2758,16 +2758,9 @@
> let mk_int n = mk_cst (Const_int n)
> and mk_string str = mk_cst (Const_string (str, None))
> and mk_char chr = mk_cst (Const_char chr) in
> - let mk_block_type bty = match bty with
> - | Pp_hbox -> mk_constr "Pp_hbox" []
> - | Pp_vbox -> mk_constr "Pp_vbox" []
> - | Pp_hvbox -> mk_constr "Pp_hvbox" []
> - | Pp_hovbox -> mk_constr "Pp_hovbox" []
> - | Pp_box -> mk_constr "Pp_box" []
> - | Pp_fits -> mk_constr "Pp_fits" [] in
> let rec mk_formatting_lit fmting = match fmting with
> - | Open_box (org, bty, idt) ->
> - mk_constr "Open_box" [ mk_string org; mk_block_type bty; mk_int idt ]
> + | Open_box _ ->
> + assert false
> | Close_box ->
> mk_constr "Close_box" []
> | Close_tag ->
> @@ -2950,6 +2943,19 @@
> mk_constr "Alpha" [ mk_fmt rest ]
> | Theta rest ->
> mk_constr "Theta" [ mk_fmt rest ]
> + | Formatting_lit (Open_box (org, _bty, _idt), rest) ->
> + mk_constr "Formatting_gen" [
> + mk_constr "Open_box" [
> + mk_constr "Format" [
> + mk_constr "String_literal" [
> + mk_string "<>";
> + mk_constr "End_of_format" [];
> + ];
> + mk_string "@[<>";
> + ]
> + ];
> + mk_fmt rest;
> + ]
> | Formatting_lit (fmting, rest) ->
> mk_constr "Formatting_lit" [ mk_formatting_lit fmting; mk_fmt rest ]
> | Formatting_gen (fmting, rest) ->
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14984 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-14 21:08:50 +00:00
Xavier Leroy
25b93e0823
Reflecting commit 14978 on version/4.02:
...
PR#6268: -DMODEL_$(MODEL) not passed when building asmrun/arm.p.o
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14979 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-10 08:45:47 +00:00
Xavier Leroy
bb83542732
Reflecting commit 14976 on version/4.02:
...
PR#6211: in toplevel interactive use, bad interaction between uncaught
exceptions and multiple bindings of the form "let x = a let y = b;;".
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14977 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-09 15:14:41 +00:00
Gabriel Scherer
7cb9d0d84e
PR#6418: fix format regression on "@{<..%d..%s..>" (Benoît Vaugon)
...
To be able to compile this patch, you should temporarily apply the
following patch to bootstrap the format type change:
> diff -Naur old/typing/typecore.ml new/typing/typecore.ml
> --- old/typing/typecore.ml 2014-06-06 03:37:03.240926150 +0200
> +++ new/typing/typecore.ml 2014-06-06 03:37:24.696926699 +0200
> @@ -2956,7 +2956,7 @@
> | Theta rest ->
> mk_constr "Theta" [ mk_fmt rest ]
> | Formatting (fmting, rest) ->
> - mk_constr "Formatting" [ mk_formatting fmting; mk_fmt rest ]
> + mk_constr "Formatting_lit" [ mk_formatting fmting; mk_fmt rest ]
> | Reader rest ->
> mk_constr "Reader" [ mk_fmt rest ]
> | Scan_char_set (width_opt, char_set, rest) ->
Bootstrap process:
make core
apply the patch above
make core
make promote-cross
make partialclean
revert the patch above, apply the commit
make partialclean
make core
make coreboot
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14973 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-09 13:53:47 +00:00
Gabriel Scherer
bb313fa192
Fix PR#6417: sprintf broken when local module named Pervasives is in scope
...
(Backport from Jacques' commit 4.02@14921)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14972 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-09 13:53:45 +00:00
Gabriel Scherer
c24c9ac53d
Makefile factorization
...
reducing world's sequentialization consistently improves parallel build times
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14971 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-09 13:53:43 +00:00
Gabriel Scherer
4feb5bbded
bootstrap
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14970 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-09 13:53:41 +00:00
Mark Shinwell
dc8727466e
stop doing chmod -w on utils/config.ml (PR 6319)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14967 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-06 12:01:16 +00:00
Gabriel Scherer
3689794e47
Fix for PR#6441 (Stefan Holdermans)
...
During closure conversion, the right-hand side of a functional binding in a
recursive binding group is now always closed as a named expression rather than
an anonymous expression. As a result, direct recursive calls do not need to
retrieve their target from a closure environment. This does not only result in
more efficient code being generated, but also avoids a potential blocker for
successful tail-call detection during pseudo-instruction selection.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14966 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-05 15:59:15 +00:00
Xavier Leroy
18d23e3a3d
Reflecting commit 14963 on version/4.02:
...
PR#2719: wrong scheduling of bound checks within a try...with Invalid_argument -> _ ...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14964 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-05 13:59:33 +00:00
Damien Doligez
d1b1fbee66
still debugging the ci-build script (take 3)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14962 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-05 09:57:20 +00:00
Damien Doligez
499092e0ba
still debugging the ci-build script
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14961 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-05 09:37:57 +00:00
Damien Doligez
837ed62b9e
debugging the ci-build script
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14960 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-05 09:19:17 +00:00
Xavier Leroy
3946f47972
Reflecting commit 14958 on version/4.02:
...
Missing dependencies on the pack, causing parallel make to fail.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14959 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-05 08:33:24 +00:00
Gabriel Scherer
d6bfdc7002
fix PR#6431 (patch by Benoît Vaugon)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14954 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-04 20:19:53 +00:00
Gabriel Scherer
3fa347743e
PR#5547: ocamlbuild reverts to using -no-ocamlfind by default
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14952 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-04 20:01:16 +00:00
Xavier Leroy
cf008f2be3
Reflecting commit 14950 on version/4.02:
...
PR#6283: increase alignment to work around a linking error.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14951 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-04 15:15:58 +00:00
Alain Frisch
894af5c4be
Fix regression introduced by commit 14809. (Cherry pick commit 14946 from version/4.02.)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14947 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-03 09:05:04 +00:00
Damien Doligez
43701240df
ci-build: go to the right directory before parsing command-line options
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14945 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-02 20:52:44 +00:00
Xavier Leroy
dbea9ee230
Reflecting commit r14943 on version/4.02:
...
PR#6082: on x86-32, enforce 16-byte stack alignment for compatibility
with recent GCC and Clang. Win32/MSVC keeps 4-byte stack alignment.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14944 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-02 17:11:40 +00:00
Damien Doligez
2c67f4f755
tools/ci-build: add possibility of changing directory on unix-like architectures
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14940 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-02 11:30:11 +00:00
Damien Doligez
45473851e8
add option -patch1 to ci-build script
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14939 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-06-02 11:27:24 +00:00
Mark Shinwell
9c2b32b139
merge from 4.02 (rev 14931): update instructions for 32-bit builds on Mac OS X (PR 6196)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14932 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-30 13:05:01 +00:00
Mark Shinwell
ec96727497
merge from 4.02 (rev. 14929): add configure detection of mkstemp, remove old HAVE_MKSTEMP conditional, rename HAVE_MKSTEMP -> HAS_MKSTEMP
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14930 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-30 12:49:24 +00:00
Mark Shinwell
60d0af57c4
merge from 4.02: rev. 14858, Adding #ppx toplevel directive (patch by Peter Zotov, github #54 ).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14928 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-30 12:10:06 +00:00
Mark Shinwell
2dec313ed1
PR 6439 part 2: use sysconf instead of the deprecated getpagesize function
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14926 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-30 10:26:30 +00:00
Mark Shinwell
dd3a286bbe
PR 6439 part 1: fix mistake in backtrace.c
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14923 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-30 09:52:05 +00:00
Damien Doligez
456ba0c57b
copy attributions from 4.02 branch and add a header for the next version
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14919 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-25 18:49:15 +00:00
Xavier Leroy
53886a08e2
Reflecting commit 14916 on version/4.02:
...
PR#6442: prevent re-sharing of "+0.0" and "-0.0".
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14917 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-25 16:46:23 +00:00
Mark Shinwell
5791532c5d
fix gc-roots test case for no-naked-pointers
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14913 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-23 12:11:49 +00:00
Maxence Guesdon
577ea36b88
Fix ocamldoc test to follow new interface; add object type test
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14910 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-22 13:39:11 +00:00
Maxence Guesdon
1a3b58be2b
PR#6274: allow doc comments on object types
...
(thanks to Thomas Refis)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14909 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-22 13:38:29 +00:00
Maxence Guesdon
a61f33b87f
Changes: PR#6425
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14904 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-22 09:03:46 +00:00
Maxence Guesdon
1fbea2fe86
PR#6425: fix generation of man pages, handling variant constructors and record fields
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14902 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-22 08:35:56 +00:00
Gabriel Scherer
e0b000527b
format+gadts: make format types "relational" to fix %(...%) typing
...
See the long comment in pervasives.ml for an explanation of the
change. The short summary is that we need to prove more elaborate
properties between the format types involved in the typing of %(...%),
and that proving things by writing GADT functions in OCaml reveals
that Coq's Ltac is a miracle of usability.
Proofs on OCaml GADTs are runtime functions that do have a runtime
semantics: it is legitimate to hope that those proof computations are
as simple as possible, but the current implementation was optimized
for feasability, not simplicity. François Bobot has some interesting
suggestions to simplify the reasoning part (with more equality
reasoning where I used transitivity and symmetry of the
relation profusely), which may make the code simpler in the future
(and possibly more efficient: the hope is that only %(...%) users will
pay a proof-related cost).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14897 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-21 13:23:13 +00:00
Gabriel Scherer
34fb0d4345
PR#5371: a partial patch by Edwin Török to fix the FreeBSD failure
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14891 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-18 16:08:38 +00:00
Gabriel Scherer
a5e4f0631c
update .depend
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14886 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-16 17:32:47 +00:00