Commit Graph

980 Commits (974733bb8a0fd71f2dc2d0b945d3cb7167d09eb3)

Author SHA1 Message Date
Xavier Leroy b868c05ec9 PR#6517: use ISO C99 types {,u}int{32,64}_t in preference to our homegrown
types {,u}int{32,64}.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15131 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-27 09:58:33 +00:00
Damien Doligez cbfe627f92 merge changes from branch 4.02 from branching (rev 14852) to 4.02.0+rc1 (rev 15121)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15125 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-22 13:45:02 +00:00
Gabriel Scherer d02c8fbc55 new -opaque flag: ocamlopt creates .cmx without cross-module info
(Patch by Pierre Chambart and Gabriel Scherer)
(Ack'ed by Damien Doligez)

This enables a form of incremental compilation for ocamlopt: if
A depends on B, and B is compiled with `ocamlopt -opaque`, then minor
implementation changes in B that do not affect the module interface
will not require recompilation of A.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15105 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-18 13:28:34 +00:00
Xavier Leroy fcc2da3848 PR#6501: harden the native-code generator against certain uses of "%identity".
Technically: when a C-- let-bound variable is assigned to, update its type
so that it is the lub of the types of the initial value and all values
assigned to it, with the type ordering Int <: Addr.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15078 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-11 07:46:25 +00:00
Mark Shinwell e17e2b19da PR#6507: [caml_bottom_of_stack] incorrectly set
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15076 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-08 22:17:56 +00:00
Gabriel Scherer c8efe3409c update Changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15056 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-06 15:01:27 +00:00
Gabriel Scherer 43f47d2f5d PR#6509: Add -linkall flag to ocamlcommon archives (Patch by Frédéric Bour)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15047 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-06 11:58:03 +00:00
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
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 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
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
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
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
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 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 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
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
Gabriel Scherer ab873b81ca changes Changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14848 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 15:38:49 +00:00
Alain Frisch f4654c8952 Add entry in Changelog for #5779.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14800 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 13:52:14 +00:00
Damien Doligez e9e2154e03 mark PR#5580 as potentially breaking change
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14799 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 13:46:57 +00:00
Mark Shinwell 0875b3c630 update Changes for -no-naked-pointers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14793 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-12 10:37:15 +00:00
Jacques Garrigue ccce272966 commit o_and_opens.diff
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14787 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-11 00:17:05 +00:00
Gabriel Scherer 4a87d8f8c8 update Changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14785 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-10 19:26:43 +00:00
Mark Shinwell 2b6b5a5b32 add Changes note for the patch in rev 14772
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14773 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-09 15:36:36 +00:00
Jacques Garrigue b6500cc2a4 Fix PR#6405: unsound interaction of -rectypes and GADTs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14769 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-09 05:46:07 +00:00
Damien Doligez bdeeab69eb fix various things
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14761 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-07 14:05:19 +00:00
Jacques Garrigue 88e8bec163 Fix PR#6394: Assertion failed in Typecore.expand_path
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14757 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-07 10:55:05 +00:00
Alain Frisch 8e25b47153 Changelog.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14746 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-05 13:03:33 +00:00
Xavier Leroy c141951f2a PR#6385: wrong allocation of large closures by the bytecode interpreter
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14733 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-04 07:39:30 +00:00
Mark Shinwell 05100e597e initialize blocks with Val_unit, not zero
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14720 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-05-01 13:07:48 +00:00
Damien Doligez 5b8df637d2 merge branch "safe-string"
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14705 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-29 11:56:17 +00:00
Jacques Garrigue 48f52f450c merge Leo's patch for PR#6384
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14702 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-29 02:25:04 +00:00
Jacques Garrigue 6cb386e91c Fix PR#6383: Exception Not_found when using object type in absent module
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14701 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-28 13:29:51 +00:00
Alain Frisch f1f362698f Document that the new alternative syntax for string literals can break comments.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14698 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-28 08:08:08 +00:00
Alain Frisch d2de0d7b18 Revert 14616, 14617. Go back to the original syntax for toplevel directives, only allowing capitalized identifiers in addition to lowercase ones. Split #show into variants #show_val, #show_type, etc, and implement a generic #show which combines all the results.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14697 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-28 08:04:43 +00:00
Xavier Leroy 89441430c5 PR#6361: Hashtbl.hash not terminating on some lazy values w/ recursive types
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14693 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-26 17:11:36 +00:00
Xavier Leroy 558f40e344 New back-end optimization pass: common subexpression elimination (CSE).
(Reuses results of previous computations instead of recomputing them.)
(Cherry-picked from branch backend-optim.)
Tested on amd64/linux and i386/linux.
Other back-ends compile (after assorted updates) but are untested.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14688 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-26 10:40:22 +00:00
Xavier Leroy 9c1d005ebb New back-end optimization pass: dead code elimination.
(Removes arithmetic and load instructions whose results are unused.)
(Cherry-picked from branch backend-optim.)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14686 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-26 09:31:18 +00:00
Xavier Leroy 29b34438e0 - Constant ropagation for float and int32/int64/nativeint arithmetic.
Constant propagation for floats can be turned off with option
  -no-float-const-prop, for codes that change FP rounding modes at
  run-time.
- Clambda / C-- / Mach: represent float constants as FP numbers of type 
  float rather than literals of type string.
- Tested for AMD64; other archs need testing.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14673 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-25 08:41:13 +00:00
Alain Frisch 456ad30a54 #6273: fix Sys.file_exists on large files for Win32 (patch by C. Bauer).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14652 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-22 09:47:42 +00:00
Alain Frisch 75fd56bccb Changelog.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14625 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-17 15:53:36 +00:00
Alain Frisch 26a8bc20a7 Support for toplevel primitives with multiple arguments.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14616 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-16 16:51:37 +00:00
Gabriel Scherer d74aa291d3 on i386 and AMD64, mark 'morally tail' C function calls as non-leaf
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14610 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-16 08:34:21 +00:00
Xavier Leroy 774e30e138 PR#6075: avoid using unsafe C library functions (strcpy, strcat, sprintf).
An ISO C99-compliant C compiler and standard library is now assumed.
(Plus special exceptions for MSVC.)  In particular, emulation code for
64-bit integer arithmetic was removed, the C compiler must support a
64-bit integer type.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14607 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-15 17:09:13 +00:00
Gabriel Scherer 192d8b44d1 Fix caml_string_{get,set}{16,32,64} bound checking in cmmgen
(Patch by Pierre Chambart)

Followup for trunk@14267:
  bound checking bug with caml_string_{get,set}{16,32,64}: fix the runtime C code

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14556 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-07 15:07:35 +00:00
Gabriel Scherer de4f4cf8b3 PR#6358: obey DESTDIR in install targets
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14536 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-07 07:06:17 +00:00
Gabriel Scherer 2b9f94b69b PR#6270: remove need for -I directives to ocamldebug in common case
(patch by Josh Watzman)

Add absolute directory names to bytecode format for ocamldebug to use

The need for a long list of -I directives makes interactively using
ocamldebug a pain in the butt. Many folks have solved this with various
`find` invocations or even Python wrappers, but those lead to other
problems when it might include files you weren't expecting (or miss
things you were). But all of this is really annoying since the tooling
should be able to figure out itself, even heuristically, where your
source files are -- gdb gets this right, why can't we?

This patch implements one of the more important heuristics from gdb: you
typically debug on the same machine you built on, so looking for the
source files and built artifacts in the absolute paths where they were
during compilation is a good first try. We write out absolute paths into
a new structure at the beginning of the debug section and then
automatically append those directories into the load path.

This means mean that if you happen to be debugging on a machine
where the original source and build artifacts are *not* available in
their original absolute locations, things will work as before, using the
standard load path mechanism. You can also explicitly use -I to prepend
directories to the load path and override the defaults located by this
new mechanism.

I personally find this makes using ocamldebug much more pleasant :)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14533 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-06 15:06:22 +00:00
Damien Doligez e8d15e704c merge branch 4.01 from 4.01.0 (revision 14115) to branch closure (revision 14525)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14532 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-04 17:32:35 +00:00
Jacques Garrigue fc61342e09 Fix PR#6348
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14528 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-04 04:17:20 +00:00
Jacques Garrigue cfb1250590 Fix PR#6347
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14527 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-04 03:04:45 +00:00
Jacques Garrigue 2699d155a0 Fix PR#6352
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14524 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-03 03:59:17 +00:00
Jacques Garrigue 12a2e9fa03 comment 9644 of PR#6000: principality check for coercion to format
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14523 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-04-03 02:52:51 +00:00
Gabriel Scherer 57fe3746f6 Revert "PR#6270: remove need for -I directives to ocamldebug in common case (patch by Josh Watzman)"
There seems to be a problematic interaction with backtrace collection. To test this,
  make world.opt
  cd testsuite
  make one DIR=tests/backtrace/

This needs to be sorted out before the patch can go in again.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14510 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-31 14:55:06 +00:00
Xavier Clerc dd7bd5b339 PR#6270: remove need for -I directives to ocamldebug in common case (patch by Josh Watzman)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14507 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-31 11:48:35 +00:00
Gabriel Scherer 09900da7c0 Pprintast: factorize handling of infix/prefix binders
There was a bug with "external _pipe = ..." in
otherlibs/threads/unix.ml where the identifier _pipe was wrongly
detected as infix and reprinted as "external ( _pipe ) = ...", causing
a syntax error.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14503 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-28 13:55:22 +00:00
Alain Frisch 35ff978e3b #6260: fix unecessary boxing of let-bound floats/ints.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14486 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-25 08:57:26 +00:00
Luc Maranget c2a88c27fd #PR6269 Optimized string matching
Noticed that I had to bootstrap to test on ARM, so I commit  a new bootstrap
compiler.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14479 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-21 17:02:44 +00:00
Gabriel Scherer 3d1c1adaf3 Factor out the grammar productions for functor parameters
(Patch by Jeremy Yallop)

Functor parameters can occur in three contexts:

  (1) in functor bindings:

        module M (X : S) (Y : T) = ...

  (2) in anonymous functor expressionms:

        functor (X : S) (Y : T) -> ...

  (3) in signature expressions

        module type T = functor (X : S) (Y : T) -> ...

This patch simplifies the grammar by using common productions
(functor_arg, functor_args) to handle all three contexts, and by
combining the productions for named and unnamed parameters.

As a side effect, unnamed functor arguments are now available in
functor bindings:

     module M (_ : S) (_ : T) = ...

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14478 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-21 13:27:07 +00:00
Gabriel Scherer 5c90eefd88 PR#6184: ocamlbuild: `ocamlfind ocamldep` does not support -predicate
(patch by Jacques-Pascal Deplaix)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14476 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-20 16:05:23 +00:00
Gabriel Scherer 5f67d82896 PR#6187: Add a warning when using -plugin-tag(s) without myocamlbuild.ml
(Patch by Jacques-Pascal Deplaix)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14475 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-20 15:54:10 +00:00
Gabriel Scherer 9e410c0cfe Shorten syntax for functor signatures (patch by Thomas Gazagnaire)
```
(* Optional naming of parameter implementation *)
module type X = functor (X:S) -> ...
module type X = functor (_:S) -> ...

(* shortening of functor module signatures *)
module type F = functor (X:S) -> functor (Y:S) -> ...
module type F = functor (X:S) (Y:S) -> ...
```

For consistency reasons, this commits also add shortening of functor implementations:

```
(* shortening of functor implementations *)
module F = functor (X:S) -> functor (Y:S) -> ...
module F = functor (X:S) (Y:S) -> ...
```

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14474 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-20 15:21:00 +00:00
Alain Frisch 87e2ff9b06 #6345: better compilation of optional arguments with default values.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14466 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-18 16:54:32 +00:00
Gabriel Scherer 087993d954 [minor] update Changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14463 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-17 09:18:17 +00:00
Gabriel Scherer adac89525e [minor] forgotten Changes entry for 4.01
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14455 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-13 09:00:24 +00:00
Jacques Garrigue 65b1193406 Fix PR#6307
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14451 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-10 02:54:02 +00:00
Jacques Garrigue d59bd570d7 Structural typing of first class modules (cf. PR#6333)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14450 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-10 02:06:10 +00:00
Mark Shinwell 1f4de8b799 use -bin-annot when building
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14448 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-03-07 14:47:30 +00:00
Jacques Garrigue eaf5646196 Fix PR#6331
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14443 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-02-25 08:16:25 +00:00
Damien Doligez 9d86709547 fix major performance problem on large heaps by making the heap increment proportional to the heap size
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14442 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-02-20 13:04:01 +00:00
Gabriel Scherer ad58a2cb57 PR#6054: add support for M.[ foo ], M.[| foo |], etc.
(Patch by Kaustuv Chaudhuri)

The following are now supported:

  M.[ foo ]     abbreviation for   M.([ foo ])
  M.[| foo |]         "       "    M.([| foo |])
  M.{ foo }           "       "    M.({ foo })
  M.{< foo >}         "       "    M.({< foo >})

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14431 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-02-04 16:55:20 +00:00
Alain Frisch 9ef1830a2b #6311. Changelog.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14429 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-30 12:21:24 +00:00
Gabriel Scherer d78c1fe671 PR#6310: fix ocamldoc's subscript/superscript CSS font size
(patch by Anil Madhavapeddy)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14424 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-28 14:43:02 +00:00
Xavier Clerc 8e51133d66 PR#6183: enhanced documentation for 'Unix.shutdown_connection'
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14419 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-23 09:16:29 +00:00
Xavier Clerc e66362027c PR#6267: more information printed by "bt" command of ocamldebug
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14416 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-23 09:07:09 +00:00
Damien Doligez fd2c7e3be3 PR#5598: (follow-up) handling of string constants in ocamllex should be the same as in ocamlc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14406 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-22 13:31:54 +00:00
Damien Doligez 64dd73a6e0 PR#6165: Alterations to handling of \013 in source files breaking other tools
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14405 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-22 13:04:04 +00:00
Jacques Garrigue 950be999e6 Fix PR#6293
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14400 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-14 11:29:02 +00:00
Jacques Garrigue 3b4d7cf63b Merge module-alias branch (cf. PR#6063)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14394 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-10 07:53:33 +00:00
Gabriel Scherer 4a25508fc2 update CHANGES
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14393 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-01-09 16:24:33 +00:00
Jacques Garrigue cfa350c31a merge generative functors
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14365 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-12-17 03:52:50 +00:00
Jacques Garrigue 024c8ad498 Fix PR#6275
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14363 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-12-17 01:39:41 +00:00
Alain Frisch ac5cbb7913 #5808: allow simple patterns, not only identifiers, in 'let p : t = ...'.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14362 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-12-16 17:34:23 +00:00
Maxence Guesdon 685c62c936 update Changes for PR#6257
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14344 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-12-09 08:37:25 +00:00
Alain Frisch 32dddc3f82 #6262: equality of first-class modules take module type aliases into account. Fix interaction with module inclusion.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14342 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-12-05 14:57:10 +00:00
Alain Frisch 2086ac55e6 #6246: allow wildcard pattern as for-loop index. ==> Camlp4 will need to be adapted.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14333 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-12-02 18:00:18 +00:00
Xavier Leroy 3d7d4b9269 PR#6243: Make "ocamlopt -g" more resistant to ill-formed locations.
(Reflecting commit r14321 on version/4.01)



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14322 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-28 14:34:45 +00:00
Xavier Leroy 948d520023 PR#6239: a "raise" in -g mode can end up calling a C function (stash_backtrace). Therefore the containing function must not be a leaf function, so that on x86-32/MacOSX and x86-64, the stack is properly 16-realigned on entrance to containing function.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14316 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-27 17:10:35 +00:00
Jérémie Dimino 5d917633ad remove camlp4
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/minus-camlp4@14309 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-21 16:23:28 +00:00
Jacques Garrigue 9b974c162f Fix PR#6241
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14305 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-19 11:07:39 +00:00
Jacques Garrigue c20af454f3 Fix PR#6240
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14301 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-18 06:44:13 +00:00
Jacques Garrigue 2a011d7095 Fix PR#6240
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14299 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-18 01:26:40 +00:00
Alain Frisch 4818fbba05 Changelog.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14291 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-13 14:52:21 +00:00
Jacques Garrigue b7ab7460d5 Fix PR#6235 + keep typing of pattern cases independent in principal mode
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14285 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-13 00:16:03 +00:00
Xavier Leroy ab9f3e38fb PR#6042: optimize integer division and modulus when divisor is constant.
So far, implemented only for amd64.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14254 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-11-01 16:35:54 +00:00
Xavier Leroy e499400188 PR#6216: inlining of GADT matches generates invalid assembly
(reflecting commit r14251 on version/4.01).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14252 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-30 14:14:26 +00:00
Jacques Garrigue 04bc532c2b Fix PR#6174 (-rectypes case)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14248 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-28 12:08:04 +00:00
Jacques Garrigue 09387da800 Fix PR#6174 (non -rectypes)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14246 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-28 11:49:29 +00:00
Alain Frisch 6873f39817 Keep attributes on value declarations in .cmi files (but clear all the location fields, except if -keep-locs is used, of course). Use this to report a warning when a value marked as [@@deprecated] is referenced (#5854)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14188 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-26 15:24:11 +00:00
Jacques Garrigue 010728722f PR#6173: Improve error messages for type-based disambiguation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14166 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-19 07:25:51 +00:00
Alain Frisch 40117f7480 #5817: new compiler flag (-keep-locs) to keep location in cmi files.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14157 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-17 12:45:05 +00:00
Alain Frisch 2373f76c36 #6180: efficient creation of uninitialized float arrays.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-17 11:54:31 +00:00
Alain Frisch 9a4a944363 #6182: better error message for virtual objects and class types.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14155 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-17 11:28:33 +00:00
Damien Doligez fadcc73c50 Merge branch 4.01 from 4.01.0+rc1 to 4.01.0
Command line used:
  svn merge --accept postpone -r 14055:14115 $REPO/version/4.01 .


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14121 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-12 15:21:52 +00:00
Gabriel Scherer 7b0694c3d0 Changes: attribution information for 4.01
I had collected attribution information for the announce only, but
Damien agreed to put them in the Changes file as well.

This change also fixes minor problems with the Changes content:
- type-based disambiguation of constructors and labels was not mentioned
- the open! syntax was not mentioned
- PR#5552 was mislabeled
- PR#5758 (matching on floats) was announced despite being also
  present in the 4.00.1 changes
- I moved PR#5986 (Marshal.Compat_32) from 'bug' to 'feature'
- PR#5243 was absent (ocamlbuild API documentation)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14089 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-11 13:11:03 +00:00
Xavier Clerc e82104a755 Remove labltk from the distribution (will be available as a third-party library).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14077 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-09 09:32:00 +00:00
Xavier Clerc 83ca86dd23 PR#6166: document -ocamldoc option of ocamlbuild
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14076 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-09 08:52:42 +00:00
Fabrice Le Fessant a20f6e647b Fix PR#6164
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14075 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-07 07:14:19 +00:00
Jacques Garrigue d09dee8f9c Fix PR#6163
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14065 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-06 05:35:55 +00:00
Jacques Garrigue 567bca77d2 Fix PR#6158
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14063 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-05 08:26:01 +00:00
Damien Doligez 7844495624 Merge branch 4.01 from branching point to 4.01.0+rc1
Command line used:
  svn merge --accept postpone -r 13776:14055 $REPO/version/4.01 .


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14060 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-04 15:12:37 +00:00
Alain Frisch e972313976 #6146: emulate Unix.kill with signal = Sys.sigkill under Windows.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14059 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-03 13:10:56 +00:00
Alain Frisch bbb30a93b2 PR#6148: speed improvement for Buffer (patch by John Whitington).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14048 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-30 13:12:47 +00:00
Alain Frisch 6afbdfb724 Mention extension_points in Changes.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14047 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-30 13:11:16 +00:00
Jacques Garrigue 7a6d827026 Fix PR#6123
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14021 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-20 03:00:19 +00:00
Gabriel Scherer a37a895592 minor: fix the Changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13986 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-06 14:20:24 +00:00
Hongbo Zhang 29ad1d3bfd Camlp4Fold/MapGenerator handle abstract type now
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13973 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-05 03:24:29 +00:00
Gabriel Scherer b1c5fa3e52 PR#6071: Add a -noinit option to the toplevel [patch by David Sheets]
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13972 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-04 19:58:09 +00:00
Gabriel Scherer da3011fec2 PR#6116: more efficient implementation of Digest.to_hex [patch by ygrek]
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13971 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-04 19:58:07 +00:00
Gabriel Scherer 2c990bacc0 PR#4323: have "of_string" in Num and Big_int work with binary and hexa representations [patch by zoep]
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13970 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-04 19:58:03 +00:00
Gabriel Scherer 8564a6e8c4 PR#5201: ocamlbuild: add --norc to the bash invocation to help Windows performances
This change was recommend by daweil on the bugtracker. According to
the Bash documentation, the option -c that is already passed by
ocamlbuild should already imply --norc, but daweil reported a 30%
performance speedup with this change anyway. I'm a bit surprised, but
this cannot hurt...

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13969 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-04 19:58:01 +00:00
Xavier Leroy 1c58683353 PR#5568: add O_CLOEXEC flag to Unix.openfile, so that the returned
file descriptor is created in close-on-exec mode.
(Reflecting commit r13961 on version/4.01)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13962 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-01 12:14:57 +00:00
Xavier Leroy 5e78d37215 PR#5350: check return code of lseek() in read_trailer()
(Reflecting commit 13959 in version/4.01)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13960 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-01 09:19:05 +00:00
Xavier Leroy 931ec15f78 PR#6084: Define caml_modify and caml_initialize as weak symbols to help
with Netmulticore.  (Reflecting commit r13957 on version/4.01)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13958 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-01 08:24:07 +00:00
Wojciech Meyer 747ece3fd6 PR#6109: Fix typos in ocamlbuild error messages
(Patch by Gabriel Kerneis!)

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13951 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-30 21:53:00 +00:00
Wojciech Meyer 6549fe7019 build: prepend "with_" to camlp4/ocamldebug-{en,dis}abling variables.
(Patch by Adrien Nader!)

This makes the variable names more coherent and is in preparation for
another patch that will allow disabling ocamldoc and ocamlbuild.

This changes the interface of the configuration somewhat but I don't
think anything outside of the ocaml tree reads the Makefile.config file
that gets installed in order to see whether the debugger and camlp4 have
been built. It also changes a .mli which might be problematic but I also
believe it is safe and we have time to see if there's a bad impact.

It also adds a configure switch to skip building ocamldebug.

While at it, it fixes a PR number in the Changes file.
build: prepend "with_" to camlp4/ocamldebug-{en,dis}abling variables.

This makes the variable names more coherent and is in preparation for
another patch that will allow disabling ocamldoc and ocamlbuild.

This changes the interface of the configuration somewhat but I don't
think anything outside of the ocaml tree reads the Makefile.config file
that gets installed in order to see whether the debugger and camlp4 have
been built. It also changes a .mli which might be problematic but I also
believe it is safe and we have time to see if there's a bad impact.

It also adds a configure switch to skip building ocamldebug.

While at it, it fixes a PR number in the Changes file.
build: prepend "with_" to camlp4/ocamldebug-{en,dis}abling variables.

This makes the variable names more coherent and is in preparation for
another patch that will allow disabling ocamldoc and ocamlbuild.

This changes the interface of the configuration somewhat but I don't
think anything outside of the ocaml tree reads the Makefile.config file
that gets installed in order to see whether the debugger and camlp4 have
been built. It also changes a .mli which might be problematic but I also
believe it is safe and we have time to see if there's a bad impact.

It also adds a configure switch to skip building ocamldebug.

While at it, it fixes a PR number in the Changes file.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13942 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-28 15:52:14 +00:00
Hongbo Zhang 311057b871 fix PR#5820
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13941 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-28 01:36:59 +00:00
Hongbo Zhang 74128ccdc0 PR#4855: 'camlp4 -I +dir' accepted, dir is related to 'camlp4 -where'
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13940 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-28 00:49:42 +00:00
Wojciech Meyer 0e608bf1b0 PR#5547: Enable the "-use-ocamlfind" option by default
ocamlfind library management has been around for while and is
considered to be installed by default on any OCaml system. Therefore
it's safe to assume that the default behavior of ocamlbuild should be
to use new ocamlfind support normally enabled explicitly by
-use-ocamlfind flag. The -use-ocamlfind flag has now a status of
depreceation and instead new flag -no-ocamlfind causes ocamlbuild to
not try to use new set of parametric tags for supporting ocamlfind.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13938 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-27 00:02:13 +00:00
Jacques Garrigue 47d094db83 Fix PR#6090
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13937 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-26 23:04:51 +00:00
Damien Doligez 5fbcc8e6ae PR#4243: make the Makefiles parallelizable
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13931 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-24 14:39:31 +00:00
Jacques Garrigue d3e731774e Fix PR#5802
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13926 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-24 08:11:20 +00:00
Xavier Leroy 1353262558 PR#5739: Printf.printf "%F" and nan/infinity/neg_infinity.
(Reflecting commit r13910 on version/4.01)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13911 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-19 09:07:54 +00:00
Xavier Leroy 055d5c0379 Port to the ARM 64-bits (AArch64) architecture (experimental).
Merge of branch branches/arm64.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13909 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-18 16:09:20 +00:00
Alain Frisch d3be8230a7 #6073: Add signature to Tstr_include. (Cherry-picked from commit 13903 on 4.01.)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13904 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-17 15:25:47 +00:00
Alain Frisch 7334bb026a #5899: expose Printexc.get_callstack. (Cherry-picked 13884, 13885 from trunk.)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13886 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-11 12:37:10 +00:00
Alain Frisch f836495698 Fix #5571.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13877 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-09 11:16:25 +00:00
Alain Frisch edb771d22b #4986. Add two common operations: List.sort_uniq (more efficient that sorting then removing duplicates) and Set.of_list (more efficient than folding Set.add over the list).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13876 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-09 11:01:42 +00:00
Hongbo Zhang 72af5c7cd0 fix PR#6062: camlp4 macro parser uncaught exception
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13875 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-07 14:21:35 +00:00
Alain Frisch cf5a7e3b50 Re-undo commit 11966 (which is the fix for #5325 that caused #5578) to be synchronized with 4.01 and have a safe trunk.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13860 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-01 08:29:51 +00:00
Wojciech Meyer c631c7a1dd PR#6060: Add some missing compiler options to ocamlbuild. (Patch by Anil Madhavapeddy!)
* -short-paths is activated via the "short_paths" tag
* -principal is activated via the "principal" tag
* -strict_sequence now has a "strict_sequence" tag to alias the
  "strict-sequence" tag that was already there, to follow the
  convention of command-line options having dashes replaced by
  underscores.  It's easy to mess this up since incorrect tags
  are silently ignored by ocamlbuild.

Add test cases that check if principal and strict-sequence have
been passed, and tweak the test suite slightly to make it easier
to match on failing_msg output.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13859 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-30 23:28:18 +00:00
Jacques Garrigue 07b8b7dd74 Fix PR#6056
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13845 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-28 10:43:25 +00:00
Alain Frisch 0e6bf1162b #4719: changelog.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13836 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-26 11:52:47 +00:00
Xavier Leroy bfc08c41ac PR#6049: support for OpenBSD/macppc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13835 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-24 08:17:30 +00:00
Jacques Garrigue f4d0232689 fix PR#5914
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13829 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-22 07:31:37 +00:00
Damien Doligez e9a37a19ea prepare for next version
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13804 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-18 15:01:51 +00:00
Gabriel Scherer e7a503dc2a PR#4502: ocamlbuild now reliably excludes the build-dir from hygiene check
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13794 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-17 13:12:40 +00:00
Alain Frisch 9d3592791c Fix #5811 as suggested. (Merge 13792 from 4.01.)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13793 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-17 08:53:03 +00:00
Jacques Garrigue 4fb61c91e6 Fix PR#5815
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13789 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-17 02:03:36 +00:00
Gabriel Scherer 54a131a262 PR#4079: Queue.copy is now tail-recursive (patch from "Cristophe" on the bugtracker)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13784 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-16 16:19:30 +00:00
Xavier Leroy b23b2e0bde PR#5178: document in INSTALL how to build a 32-bit version under Linux x86-64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13782 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-15 08:18:50 +00:00
Damien Doligez 493704f300 PR#5827: provide a dynamic command line parsing mechanism
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13772 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-13 11:26:16 +00:00
Fabrice Le Fessant 5d82e6f17f Fix PR#3679
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13767 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-12 11:53:38 +00:00
Fabrice Le Fessant a04798140b Fix PR#6031 : problem with -with-frame-pointers in caml_allocN
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13763 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-11 11:20:03 +00:00
Xavier Leroy 3b46f10a7c PR#5976: crash after recovering from two stack overflows (ocamlopt on MacOS X)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13759 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-09 08:52:08 +00:00
Xavier Leroy 5b0986b4c5 PR#6033: Matching.inline_lazy_force needs eta-expansion (command-line flags)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13758 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-07 17:16:11 +00:00
Alain Frisch d37fd91e15 #6035: reject multiple declarations of the same method or instance variable in the same object.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13757 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-07 15:36:40 +00:00
Xavier Leroy 3dd22133ef PR#5813: GC not called when unmarshaling repeatedly in a tight loop (ocamlopt)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13755 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-07 14:06:30 +00:00
Xavier Leroy bd33fa57c4 PR#5580: missed opportunities for constant propagation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13754 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-07 11:32:13 +00:00
Alain Frisch 4ae200a678 Commit Xavier's fix for #6032.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13750 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-06 11:39:51 +00:00
Hongbo Zhang 997e739fd5 Fix Excessive memory consumption while compiling Camlp4
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13749 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-06 01:32:44 +00:00
Alain Frisch 2963e6ae79 #6030: changelog.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13744 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-04 15:15:30 +00:00
Fabrice Le Fessant f9bd5f13a0 Experimental OCAMLCOMPPARAM for ocamlc/ocamlopt
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13741 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 19:13:24 +00:00
Damien Doligez b147d078ce PR#3963: Graphics.wait_next_event in Win32 hangs if window closed
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13740 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 19:00:06 +00:00
Fabrice Le Fessant ace0205b64 Add |> and @@ operators to Pervasives
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13739 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 18:22:31 +00:00
Fabrice Le Fessant 9b53f8b10d Re-add configure option -with-frame-pointers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13738 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 18:03:59 +00:00
Damien Doligez 48f65d07f8 PR#5098: creating module values may lead to memory leaks
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13735 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 14:46:04 +00:00
Xavier Leroy 1b72ae5896 More efficient implementation of caml_modify().
Performance improvement in caml_initialize().


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13723 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-01 07:43:45 +00:00
Damien Doligez db9ea0df59 PR#6024: Format syntax for printing @ is incompatible with 3.12.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13713 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-29 15:56:25 +00:00
Damien Doligez e69730e0d6 extend warning 3 to other deprecated features: Latin1, (&) and (or)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13706 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-28 11:05:58 +00:00
Damien Doligez c3bf54a7b6 merge changes from version/4.00 from 4.00.1 to r13697
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13699 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-22 12:56:54 +00:00
Alain Frisch e4098f9f42 Typo.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13684 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-16 12:38:31 +00:00
Alain Frisch f51bc04b55 #5980: warning on open statements which shadow an existing identifier (which turns out to be actually used in the scope of the open).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13683 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-16 12:36:15 +00:00
Benedikt Meurer e86e81323a [arm] Fix code generation bug with "mod 1" (PR#5910).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13662 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-08 13:21:32 +00:00
Xavier Leroy 0f45880800 PR#6010: Big_int.extract_big_int gives wrong results on negative arguments
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13660 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-08 08:38:55 +00:00
Jacques Garrigue ba7fa367a1 Fix PR#6004
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13649 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-04 01:44:49 +00:00
Jacques Garrigue e2dbb7f516 Fix PR#6005
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13647 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-03 14:40:11 +00:00
Jacques Garrigue c425ae1ce8 Fix PR#5985; compute injectivity of types but no new syntax
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13634 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-30 05:26:57 +00:00
Alain Frisch 96fc2316ed Fix #5965.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13619 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-29 15:39:00 +00:00
Pierre Weis 8e3006eac2 More PR resolved.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13607 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-24 18:19:14 +00:00
Jacques Garrigue 976cb4a2f4 log PR#5944
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13590 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-23 00:36:29 +00:00
Jacques Garrigue a0b6262cf8 Fix PR#5997
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13586 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-22 23:53:24 +00:00
Jacques Garrigue 497ec43277 Fix PR#5993
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13580 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-19 08:48:25 +00:00
Jacques Garrigue 39d57e01e6 Fix PR#5989
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13578 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-18 23:41:29 +00:00
Xavier Leroy e29c9d2956 PR#5986: added flag Marshal.Compat_32 and ocamlc option -compat-32.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13554 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-18 11:58:59 +00:00
Gabriel Scherer e92b63fc21 PR#5957,PR#5920,PR#5925: LongString module to workaround 32bits string size limitations during bytecode linking (patch by Benoit Vaugon and Chet Murthy)
In PR#5925, Benoît Vaugon initially proposed the LongString module to
solve an issue with bytecode blocks of size > Sys.max_string_length on
32 bits architecture (16Mio). In PR#5957, Chet Murthy made small
changes to also fix the problem of debug information going above this
16Mio limit.

The LongString module should be reusable in other parts of the
compiler, should new 32bit-string-length issues arise.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-17 09:07:00 +00:00
Jacques Garrigue ff7547dca0 Fix PR#5981
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13514 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-12 10:20:14 +00:00
Xavier Leroy a950ef856d PR#5934: integer shift by negative amount (-1).
Several occurrences of the same pattern:
        let p = ref(1 lsl N) in
        for i = N downto 0 do ... p := !p lsr 1 done
rewritten so as not to precompute "1 lsl N".
This was rather harmless since the value of p wasn't used in the case N < 0.
This is why I'm fixing this on trunk but not on 4.00 branch.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13438 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-24 15:34:09 +00:00
Jacques Garrigue 389e3a789b Fix PR#5948
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13396 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-13 04:59:10 +00:00
Damien Doligez c63f9e0957 fix a few problems with whitespace and over-long lines
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13393 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-09 22:38:52 +00:00
Pierre Weis a81a5b038c Labtk now supports 8.6.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13327 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-27 19:31:47 +00:00
Damien Doligez 6d34f34e59 PR#5928: Missing space between words in manual page for ocamlmktop
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13315 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-26 10:36:33 +00:00
Gabriel Scherer 243fc1ce10 fix Changes entry
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13310 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-24 10:14:33 +00:00
Gabriel Scherer bca20db060 fix PR#5930: ocamldep leaks temporary preprocessing files
Ah, if we had let-try...


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13309 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-24 09:11:29 +00:00
Damien Doligez 43d02c2020 PR#5835: the fix was changed to be compatible with existing programs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13299 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-19 10:17:56 +00:00
Jacques Garrigue dc34e6d938 add -short-paths flag for printing shorter types when using modules
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13290 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-09 08:42:11 +00:00
Jacques Garrigue 1b5d02346c Fix PR#5911: substituting in submodules should not be allowed
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13282 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-29 00:54:06 +00:00
Jacques Garrigue 4c9e622875 Fix PR#5907
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13280 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-26 01:43:11 +00:00
Jacques Garrigue 75b4dbd042 Fix PR#5906
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13276 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-25 04:26:02 +00:00
Alain Frisch 45936b5fa5 Fix #4887 (input_char after close_in crashes ocaml, msvc runtime). Patch by Christoph Bauer.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13257 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-17 09:04:53 +00:00
Jacques Garrigue 6970ac6e71 merge patch by Stefan Monnier from PR#5884
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13253 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-17 02:56:00 +00:00
Jacques Garrigue 5348b611a7 Fix PR#5892
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13250 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-16 17:18:26 +00:00
Xavier Clerc b7d815c172 PR#5840: improved documentation for 'Unix.lseek'
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13248 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-16 13:00:33 +00:00
Xavier Clerc 21f51b8b03 PR#5880: 'Genlex.make_lexer' documention mentions the wrong exception
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13245 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-16 12:29:25 +00:00
Xavier Clerc 75df311d02 PR#5891: support rectypes tag for mlpack (ocamlbuild)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13243 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-16 12:17:19 +00:00
Xavier Clerc 2885577f83 PR#5793: integer marshalling is inconsistent between architectures
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13241 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-16 08:35:09 +00:00
Wojciech Meyer 01e27644ba -which option for ocamlbuild
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13238 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-15 21:32:52 +00:00
Jacques Garrigue 0944e97723 allow absent constructors in PM for non-exact polymorphic variant types
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13235 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-15 05:22:28 +00:00
Alain Frisch 4abe4a82ca Fix for #5835 can break existing (arguably bad) programs.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13234 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-14 14:22:47 +00:00
Wojciech Meyer c133e90cf1 PR#5885: Fix: Incorrect rule for compiling C stubs when shared libraries are not supported.
Patch by Jérôme Vouillon!

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13233 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-14 07:43:49 +00:00
Benedikt Meurer b014e69fb1 Add note about CFI support for OS X.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13230 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-13 17:03:39 +00:00
Jacques Garrigue c4d1bf8b77 propagate type information to patterns, even when there are polymorphic variants
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13221 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-11 07:26:23 +00:00
Alain Frisch 706f815450 #5864: add a find operation to Set.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13211 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-08 09:01:02 +00:00
Benedikt Meurer 4b800c3a82 PR#5774: Updates Changes.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13205 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-06 17:22:13 +00:00
Wojciech Meyer 4bc9fa5359 PR#5212: Fix: ocamlbuild does not warn for bad input
Patch by Ygrek!

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13193 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-01 04:53:51 +00:00
Jacques Garrigue 50e15d0e65 fix PR#5673
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13164 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-27 07:03:32 +00:00
Jacques Garrigue d779487717 fix PR#5835
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13163 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-27 03:15:09 +00:00
Jacques Garrigue d573c40608 Fix PR#5865
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13161 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-27 02:34:49 +00:00
Hongbo Zhang 733654abab raise an error when multiple private keywords are used in type declarations
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13157 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-24 05:09:22 +00:00
Wojciech Meyer 2d3c0b7c1e PR#5697: Update changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-22 01:34:24 +00:00
Jacques Garrigue 37406cc484 fix PR#5858
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13137 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-18 09:58:32 +00:00
Benedikt Meurer b87cdb1d51 Add missing note about PR#5798 to Changes.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13126 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-10 11:38:20 +00:00
Jacques Garrigue 505dcfb2fe fix PR#5343 (was still unsound)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13107 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-02 02:46:22 +00:00
Fabrice Le Fessant 89bdc10350 PR#5774: Add bswap primitives for amd64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13106 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-29 09:55:00 +00:00
Wojciech Meyer f80d01e968 PR#5825: Add Changes entry.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13099 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-19 01:30:54 +00:00
Xavier Leroy 23502e1275 PR#5824: avoid tagging before right shifts
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13096 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-17 17:23:15 +00:00
Alain Frisch 43d30581a7 Fix #5821: Wrong record field is reported as duplicate.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13093 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-14 16:59:33 +00:00
Jonathan Protzenko e41b5df033 Add a strict_sequence flag to OCamlbuild.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13089 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-10 15:06:53 +00:00
Jonathan Protzenko 76f3646b12 Add a new bin_annot tag to OCamlbuild.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13088 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-10 15:02:56 +00:00
Fabrice Le Fessant ec7ac9cb3d PR#5771: Add primitives for reading 2, 4, 8 bytes in strings and bigarrays
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13087 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-09 16:15:29 +00:00
Fabrice Le Fessant d34a734947 PR#5795: Generate sqrtsd opcode instead of external call to sqrt on amd64
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13086 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-09 13:26:43 +00:00
Xavier Clerc ce37153d1e PR#5810: error in switch printing when using -dclambda
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13073 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-07 12:36:09 +00:00
Fabrice Le Fessant 95c20bc6ae PR#5762: Add primitives for fast access to bigarray dimensions
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13069 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-06 17:03:34 +00:00
Alain Frisch 961982c7e0 #5805: Changes file.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13066 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-06 16:53:04 +00:00
Xavier Clerc a3c231e1c1 PR#5806: ensure that backtrace tests are always run (testsuite)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13062 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-05 11:56:08 +00:00
Hongbo Zhang 6b8f3706bd bug fix for parsing/pprintast.ml and add tools/eqparsetree to diff two parsetree
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13059 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-02 14:13:56 +00:00
Hongbo Zhang 920fbd3145 make pprintast usable
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13054 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-31 18:11:33 +00:00
Xavier Clerc b570a86fa7 PR#5119: camlp4 now raises a specific exception when 'DELETE_RULE' fails, rather than raising 'Not_found'
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13047 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-25 12:28:15 +00:00
Damien Doligez d2b0f14516 remove non-ascii chars
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13031 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-17 21:02:29 +00:00
Alain Frisch 238814e293 #5770: Syntax error messages involving unclosed parens are sometimes incorrect.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13019 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-16 14:04:33 +00:00
Alain Frisch e7546ca216 PR#5768: On 'unbound identifier' errors, use spell-checking to suggest names present in the environment.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13018 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-16 13:54:24 +00:00
Alain Frisch 5e8adcd8df #5784: -dclambda option is ignored.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13017 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-16 13:40:36 +00:00
Damien Doligez 7224745796 PR#5775: several bug fixes for tools/pprintast.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13016 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-16 09:51:42 +00:00
Alain Frisch 08c3b1780a PR#5787: Bad behavior of 'Unused ...' warnings in the toplevel.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13010 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-12 08:24:34 +00:00
Jacques Garrigue e196c83bf3 Fix PR#5785
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13008 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-12 01:34:51 +00:00
Xavier Clerc 4dd1e7fe41 PR#5102: ocamlbuild fails when using an unbound variable in rule dependency
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13002 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-10 13:59:47 +00:00
Xavier Clerc 78e80bc087 PR#5300: verbose parameter should implicitly set classic display
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13000 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-10 09:38:24 +00:00
Xavier Clerc b676e19acf PR#5240: register exception printers for Unix.Unix_error and Dynlink.Error
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12996 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-10 08:54:42 +00:00
Xavier Leroy a731103898 PR#5772: problem with marshaling of mutually-recursive functions
(culled from version/4.00, commit 12991)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12992 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-05 16:04:13 +00:00
Damien Doligez bb5c5b7e88 merge changes from 4.00.0 to 4.00.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12990 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-05 15:21:35 +00:00
Damien Doligez de1ac52bc6 PR#5715: change the fix to avoid breaking the mingw port
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12978 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-30 12:31:27 +00:00
Damien Doligez f169f1eafd PR#5727: emacs caml-mode indents shebang line in toplevel scripts
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12974 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-28 16:56:30 +00:00
Damien Doligez 0a2d9c0089 PR#5761: Incorrect bigarray custom block size
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12964 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-27 15:57:13 +00:00
Xavier Leroy 2932d1f4a0 PR#5734: improved Win32 implementation of Unix.gettimeofday
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12949 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-24 11:36:47 +00:00
Xavier Leroy 96ad2a7612 PR#5563: harden Unix.select against file descriptors above FD_SETSIZE
(Picked from r12947 in 4.00 branch)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12948 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-24 11:26:54 +00:00
Gabriel Scherer 3734fe0799 fix PR#5763: ocamlbuild does not give correct flags when running menhir
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12946 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-21 15:16:24 +00:00
Jacques Garrigue e086aa9a8d Fix PR#5758
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12937 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-19 06:57:17 +00:00
Damien Doligez 9d3c2b0920 PR#4019: better documentation of Str.matched_string
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12923 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-11 14:45:44 +00:00
Damien Doligez 526d44647b PR#5757: GC compaction bug (crash)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12912 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-10 10:25:18 +00:00
Wojciech Meyer 80d9a37d6d PR#5468: ocamlbuild should preserve order of parametric tags
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12909 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-10 02:41:09 +00:00
Xavier Leroy 9ac1d4937b PR#5707: in AMD64 port, exchange the roles of r10-r11 and r12-r13,
so that r10 and r11 are no longer used for parameter passing,
  and can therefore be destroyed by the dynamic loader without harm.
(Cherry-picked from version/4.00, commit 12907).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12908 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-08 16:53:39 +00:00
Alain Frisch 9d45c49928 Fix #5747 ('unused open' warning not given when compiling with -annot).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12905 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-03 17:03:49 +00:00
Wojciech Meyer eabfccd2a9 "PR#5597: add instruction trace option 't' to OCAMLRUNPARAM
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12904 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-02 02:37:17 +00:00
Wojciech Meyer a50bae4545 PR#5652: update Changes file
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12903 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-02 01:34:13 +00:00
Wojciech Meyer 4f968563b6 PR#5611: avoid clashes betwen .cmo files and output files during linking
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12901 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-01 13:10:10 +00:00
Xavier Leroy 7cb5ba33fc PR#5742: missing bound checks in Array.sub (picking r12891 from 4.00 branch)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12892 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-28 15:08:30 +00:00
Jacques Garrigue 0a11500cb1 fix PR#5738
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12878 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-25 09:54:29 +00:00
Fabrice Le Fessant 3fa58bda89 Fix PR#5735: %apply and %revapply not first class citizens
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12870 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-21 07:12:04 +00:00
Xavier Leroy 094041bdad PR#5731: take destroyed registers into account during scheduling.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12865 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-20 06:54:56 +00:00
Damien Doligez f88c9efcf1 PR#4994: ocaml-mode doesn't work with xemacs21
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12840 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-08 14:32:59 +00:00
Damien Doligez a9c1f42ad2 PR#5719: ocamlyacc generates code that is not warning 33-compliant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12835 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-06 14:19:40 +00:00
Damien Doligez f4ec71e64b PR#5712: doc of Format.printf and missing functions in StdLabels
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12824 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-06 11:55:32 +00:00
Alain Frisch 412ee0f3e0 Support -absname in ocamldep + update man pages.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12819 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-03 10:22:35 +00:00
Xavier Leroy d67f25572e PR#5700: crash with native-code stack backtraces under MacOS 10.8 x86-64
(owing to wrong stack alignment in caml_raise_exception)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12816 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-02 12:47:08 +00:00
Fabrice Le Fessant 83c5962ac8 Fix PR#5708 : catch Failure "int_of_string" in ocamldebug
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12802 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-31 13:19:01 +00:00
Alain Frisch f6f54d325d #4762: QUESTIONQUESTION is no longer a token.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12795 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-30 10:15:10 +00:00
Damien Doligez 0c3a7de507 merge changes from 4.00 branching to 4.00.0 (part 1)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12784 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-26 19:21:54 +00:00
Fabrice Le Fessant 229044d83a Fix PR#5698: remove harcoded limit of 200000 labels in emitaux.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12770 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-24 17:33:46 +00:00
Alain Frisch 504f620fc7 #5697: better location for warnings on statement expressions.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12763 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-24 08:57:52 +00:00
Fabrice Le Fessant 930864c9cc Fix PR#5695 (Redoing commit 12756 without unwanted changes)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12758 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-22 15:18:52 +00:00
Fabrice Le Fessant 808d083b9f Revert commit r12756 containing unwanted changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12757 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-22 15:15:55 +00:00
Fabrice Le Fessant 5e74e6f0cc Fix PR#5695
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12756 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-22 15:12:43 +00:00
Xavier Clerc e17f1f82f2 PR#5214: ocamlfind plugin invokes 'cut' utility
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12713 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-16 08:53:51 +00:00
Fabrice Le Fessant 776c46fce8 Fix problem of size of bin-annot files
- Reset most of the fields of Env.t when saving bin-annot files
- Move debugger/envaux.ml to typing/, and add a function to 
    recover environements from bin-annot files.
- Move tools/typedtreeIter.ml to typing/
- Move the code of typing/typedtreeMap.ml from cmt_format.ml



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12702 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-12 11:02:18 +00:00
Damien Doligez 5b7fbfba8a PR#5137: caml-types-explore does not work
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12696 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-10 17:51:04 +00:00
Damien Doligez 9d10503a1d PR#5218: use $(MAKE) instead of "make" in Makefiles
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12694 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-10 15:29:19 +00:00
Damien Doligez 1330131d70 PR#5677: do not use "value" as identifier (genprintval.ml)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12690 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-10 15:03:11 +00:00
Damien Doligez 9c3b2b4784 PR#5279: executable name is not initialized properly in caml_startup_code
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12688 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-10 12:58:12 +00:00
Gabriel Scherer 9c275a2e7a PR#5312: remove the Windows @responsefile feature, that conflicted
with '-w @...' command-line warning specifications [breaking change]

This change has relatively wide consequences as it modifies the windows
OCaml runtime: when the runtime computed the argument vector "argv"
passed to the program, it automatically expanded arguments of the form
@foo into the content of the filename "foo" (parsed as a sequence of
command-line arguments). This means that this "feature" was
automatically enabled for all user programs written in OCaml and
linking to the usual runtime.

This conflicted with the more recent feature of the OCaml *compiler*
(which is affected, as an OCaml program), that allows to pass warning
specifications of the form "-w @...", for example -w @ae. On windows,
it would try to replace it by the content of the file "ae", leading to
an error.

Given the warning specifications are widely used in OCaml programs
(causing silly Windows portability problems), and the @reponsefile is
anecdotical at best (at poll [1] on the Caml-list revealed no user
using this feature), it was decided to remove @responsefile
altogether.

[1] see mailing-list thread "[community poll for PR#5312] Do some
OCaml Windows users still use the @responsefile feature?"

This change affects all OCaml programs compiled under Windows. Users
previously relying on the @responsefile feature should now explicitely
expand Sys.argv themselves; use Arg.parse_argv to rerun Arg
command-line handlers on user-provided string arrays.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12685 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-10 11:33:00 +00:00
Gabriel Scherer bc139ae14e PR#5644: Stream.count broken when used with Sapp or Slazy nodes
There is a bug in the way concatenating operations work when combined
with `Sgen`-defined stream (Stream.from, Stream.of_string): the
concatenation functions reset the `count` field to 0, which disturbs
the Sgen producer.

While the fix in the Scons case is easy (instead of 0, set
the count to `original_count - 1`), fixing the Sapp case is more
delicate (we can't predict the size of the prepended stream). Our
technique is to change the stored left-hand-side to not the stream
data only, but the whole stream, count included.
Once we detect the prepended stream was completely consumed, we can
then restore the count to its previous value, so that Sgen's function
can be provided correct count information. This required a change in
the internal `get_data` implementation.

Slazy-constructed streams have the exact same issue: we don't know
their count before forcin them. Again, `get_data` is changed to
dynamically update the count at forcing time.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12682 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-10 09:58:38 +00:00
Damien Doligez d04453c5de PR#5597: register names for instrtrace primitives in embedded bytecode
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12679 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-09 15:38:19 +00:00
Xavier Clerc fa0e0b6ba7 PR#5647: Cannot use install_printer in debugger
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12672 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-09 12:40:43 +00:00
Xavier Clerc 61ff6edc27 PR#5655: ocamlbuild doesn't pass cflags when building C stubs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12670 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-09 10:07:26 +00:00
Xavier Clerc da7078d07b PR#5637: invalid printing of anonymous type parameters (camlp4 revised syntax)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12668 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-09 09:43:49 +00:00
Xavier Clerc c922570d0f PR#5651: printer for abstract data type (camlp4 revised syntax)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12666 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-09 09:07:43 +00:00
Gabriel Scherer b667a00686 PR#5628: Add Topdirs.remove_directory (and directive #remove_directory) to remove a directory from the load path
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12660 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-07 11:40:33 +00:00
Xavier Leroy 1c7f208fbb PR#5671: initialization of compare_ext field in caml_final_custom_operations()
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12659 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-06 16:45:33 +00:00
Damien Doligez ec0422aa33 PR#5661: fixes for the test suite
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12651 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-27 12:58:21 +00:00
Damien Doligez 6973c3b9da PR#5255: natdynlink detection on powerpc, hurd, sparc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12647 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-26 16:01:05 +00:00
Fabrice Le Fessant b8238a8b61 PR#5662 : typo in md5.c when clearing sensitive data in context
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12642 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-25 15:59:04 +00:00
Damien Doligez f439a4441b follow up of commit 12633 (PR#5131)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12635 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-21 16:27:34 +00:00
Damien Doligez fe137eedb5 PR#5233: finaliser on weak array gives dangling pointers (crash)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12627 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-21 14:30:11 +00:00
Xavier Leroy 28c206ad37 PR#5643: issues with .cfi and .loc directives generated by ocamlopt -g
(Picking commit 12610 from version/4.00)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12611 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-17 08:17:43 +00:00
Jacques Garrigue d15380d566 update Changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12606 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-13 23:46:41 +00:00
Alain Frisch 60d0694e9f #5634: parstree rewriters (merge with ast_rewriter branch).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12597 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-13 08:00:27 +00:00
Xavier Leroy 81ca9d7223 PR#5636: issue with pthread_atfork in glibc
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12586 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-08 11:36:35 +00:00
Jacques Garrigue aa9ff663b1 Fix PR#4838, PR#4511
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12535 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-01 08:05:48 +00:00
Jacques Garrigue 6219455e62 Fix PR#5224
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12533 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-01 05:12:44 +00:00
Jacques Garrigue a430934c06 Fix PR#5291
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12531 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-01 04:47:14 +00:00
Xavier Clerc 8889c93af2 Move of the message related to PR#5620, due to backport to 4.00.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12494 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-29 07:39:13 +00:00
Xavier Leroy 66f05c8e7f Fix for PR#5578 left on trunk but removed from 4.00 because of PR#5578.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12481 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-24 16:41:34 +00:00
Xavier Clerc 397d0040de update related to commit 12473 (fixing PR#5620)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12474 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-23 08:23:52 +00:00
Fabrice Le Fessant fef288bd38 Fix PR#5305 : prevent ocamlbuild from complaining about links to _build/
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12452 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-15 08:37:48 +00:00
Fabrice Le Fessant 621dd2dd5f Fix PR#5555
Add Hashtbl.reset to resize the bucket table to its initial size.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12451 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-15 08:36:25 +00:00
Xavier Leroy ceabedc058 PR#5603: wrong .file directives generated by ocamlopt -g
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12449 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-12 09:51:45 +00:00
Xavier Leroy 4b9cbab50a PR#5610: new unmarshaler didn't freshen object IDs.
Assorted cleanups and additional comments in byterun/intern.c.
More tests in lib/marshal.
Updated Changes file.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12442 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-08 13:49:35 +00:00
Xavier Leroy ad6a2252ff Remove the 'dispose' functions from Bigarray.
(Partial revert of commit 12327, keeping the other good bits.)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12432 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-06 08:23:16 +00:00
Wojciech Meyer bfe3edfd71 PR#5599: Update Changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12421 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-02 19:48:12 +00:00
Pierre Weis 826c4225b5 Adding a word for treatment of %@. Mispelling corrections.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12410 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-01 22:11:25 +00:00
Wojciech Meyer bfc2d7ec34 PR#5531: Add Changes entry
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12401 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-26 00:11:57 +00:00
Wojciech Meyer 43197698fa PR#5318: Update Changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12393 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-25 00:02:02 +00:00
Xavier Leroy b2166e33f5 - Hashtbl:
. Added optional "random" parameter to Hashtbl.create to randomize
      collision patterns and improve security (PR#5572, CVE-2012-0839)
    . Added "randomize" function and "R" parameter to OCAMLRUNPARAM
      to turn randomization on by default (PR#5572, CVE-2012-0839)
- Filename: on-demand (lazy) initialization of the PRNG used by "temp_file".



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12384 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-19 13:17:40 +00:00
Xavier Leroy 2330a3b30f PR#3571: in Bigarrays, call msync() before unmapping to commit changes
PR#5463: Bigarray.*.map_file fail if empty array is requested
Bigarray: added "release" functions that free memory and file mappings
just like GC finalization does eventually, but does it immediately.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12327 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-09 10:23:50 +00:00
Xavier Leroy 0d2e9941eb PR#5295: OS threads: problem with caml_c_thread_unregister()
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12325 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-08 17:12:46 +00:00
Xavier Leroy 72ae789dc6 PR#5543: in Bigarray.map_file, try to avoid using lseek() when growing file
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12317 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-04 12:12:02 +00:00
Damien Doligez 22e3b040d4 PR#5310: Ratio.create_ratio/create_normalized_ratio have misleading names
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12304 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-31 22:15:34 +00:00
Damien Doligez 4191b43bc9 PR#5311: better message for warning 23
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12299 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-31 20:55:13 +00:00
Jacques Garrigue 40e2854e21 Fix PR#5560
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12286 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-28 00:35:41 +00:00
Alain Frisch 77b7ef9714 #5397: Filename.temp_dir_name should be mutable.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12274 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-26 17:17:35 +00:00
Xavier Leroy af3cafad25 Splitting off the win32caml/ subdirectory (the simplistic Win32 UI for the toplevel). It now lives at https://forge.ocamlcore.org/projects/ocamltopwin/
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12268 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-24 10:37:53 +00:00
Xavier Leroy 90fde3e40e Updated documentation of Random.self_init and Random.float.
Faster implementation of Random.float: to get a 53-bit random mantissa, combining two calls to Random.bits is enough, three was overkill.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12262 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-23 09:58:22 +00:00
Alain Frisch 454a45c2b5 Update Changes for #5551.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12252 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-21 11:40:02 +00:00
Xavier Leroy 44b6164bb0 Improve self-initialization of the Random module, using /dev/urandom
when available.  The changes in byterun/win32.c are untested.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12244 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-14 16:12:09 +00:00
Xavier Leroy 5914913c1c PR#4892: non-strict behavior in Array.set
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12238 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-14 09:27:13 +00:00
Xavier Leroy 4e5eb94ed9 PR#5215: Marshalling of closures now supported if the closures come from dynamically-loaded code.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12229 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-13 14:50:41 +00:00
Damien Doligez 6c24f4f90b merge version 3.12 from 3.12.1 to r12205
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12210 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-08 19:52:03 +00:00
Xavier Leroy a1b1a068f8 PR#5516: in Bigarray C stubs, use C99 / GCC flexible array types if possible
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12188 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-27 17:46:05 +00:00
Xavier Leroy 79eab1a6e2 PR#5513: protect against min_int / -1 crashing on x86
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12187 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-24 10:13:02 +00:00
Xavier Leroy b5dbeb6611 PR#5511: in Bigarray.reshape, unwarranted limitation on new array dimensions
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12180 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-21 17:53:49 +00:00
Xavier Leroy 2eecf2d4c0 PR#5487: addition of CFI directives and a few filename/linenumber info to generated amd64 and i386 assembly files.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12179 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-21 17:41:02 +00:00
Wojciech Meyer df19aff00d Reverting "PR#5504: Add Changes entry". For time being - sorry.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12175 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-20 21:36:16 +00:00
Xavier Leroy 6d57d49f5e Optimize away compile-time beta-redexes, as found sometimes in generated code, by Coq's extraction in particular
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12174 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-20 17:45:10 +00:00
Wojciech Meyer afbd4d496c PR#5394: Add Changes entry
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12173 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-19 18:35:32 +00:00
Wojciech Meyer 11f4f96928 PR#5504: Add Changes entry
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12171 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-19 17:30:03 +00:00
Wojciech Meyer cd40fae3e3 PR#5510: Add Changes entry
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12169 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-19 17:04:42 +00:00
Xavier Leroy e545071c8a Reverting commits 12108 and 12109 concerning PR#4072. I feel the cure (making ocamlc's evaluation order inconsistent with the ZAM push-enter model) is worse than the illness.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12167 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-18 17:21:42 +00:00
Xavier Leroy b07b3032c0 - PR#5509: misclassification of statically-allocated empty array that
falls exactly at beginning of an otherwise unused data page.
- i386/emit_nt.mlp: add zero word at end of data segment, like in other ports.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12166 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-18 16:56:29 +00:00
Fabrice Le Fessant e73cade9b2 Fix PR#5297: compiler does not check %primitive's existence
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12165 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-18 09:45:30 +00:00
Fabrice Le Fessant 62b0e4fb10 Fix Changes for last commit
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12164 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-18 09:43:58 +00:00
Xavier Leroy 339bcbb2c6 PR#5064, PR#5485: try to ensure that 4K words of stack are available
before calling into C functions, raising a Stack_overflow exception
otherwise.  This reduces (but does not eliminate) the risk of
segmentation faults due to stack overflow in C code.
Implemented for i386, amd64 and power, under Linux and MacOSX.
Plus: remove some more stuff related to obsoleted platforms (IA64, SunOS 4).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12159 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-17 10:12:09 +00:00
Xavier Clerc 79507d54bb PR#5503: error when ocamlbuild is passed an absolute path as build directory
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12154 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-15 09:10:52 +00:00
Damien Doligez e7f5b858c2 More renaming to OCaml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12149 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-10 16:15:24 +00:00
Benedikt Meurer 05627e0de4 Merge the new ARM backend into trunk (PR#5433).
Initial merge of the new ARM backend (commit ec5b444c7f) from my development
repository at https://github.com/bmeurer/ocaml-arm/tree/ec5b444c7f .

Compared to the old ARM backend, this one does the following:
- Support for both software and hardware floating-point (VFPv3).
- Properly supports interworking with Thumb/Thumb-2 code for both OCaml and C
  code.
- Supports dynamic linking and large memory models (PR#5049).
- Optional support for position-independent code via a command line option
  -fPIC. This is disabled by default and not required for natdynlink.
- Can emit both ARM and Thumb-2 code, with avg. code size savings of 28% for
  Thumb-2 (quite close the optimal 30% advertised by ARM Ltd.).
- Supports both AAPCS (armel) as well as extended VFP calling conventions
  (armhf).
- Supports several special ARM instructions to reduce code size and latency.
- Uses standard ARM EABI runtime functions instead of relying on GCC internals.
- Supports exception backtraces.
- Supports profiling using gprof.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12124 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-04 10:15:24 +00:00
Damien Doligez 94f9c9fa83 cut long lines
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12115 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-03 16:01:21 +00:00
Jacques Garrigue eced476cce Fix PR#5498
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12111 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-03 05:58:57 +00:00
Fabrice Le Fessant 3a15ca4ea1 Update Changes for last commit
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12109 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-01 09:31:26 +00:00
Fabrice Le Fessant 2bfba69b77 Backported '%apply' and '%revapply' from 3.12.1+dev to 3.13+dev
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12070 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-23 14:49:39 +00:00
Alain Frisch 8acbeff60b Update Changes.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12043 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-18 10:42:40 +00:00
Xavier Clerc 48d5f48d6d PR#5199: tests are run only for bytecode if either native support is missing,
or a non-empty value is set to "BYTECODE_ONLY" Makefile variable.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12041 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-18 09:51:16 +00:00
Fabrice Le Fessant 869feeb007 Fix PR#5461
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12033 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-17 21:57:54 +00:00
Fabrice Le Fessant 28c7bcd42d Fix PR#5475
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12032 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-17 21:47:36 +00:00
Fabrice Le Fessant 6f9f5cdfdb Fix PR#5479
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12031 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-17 20:32:33 +00:00
Alain Frisch 55688836f4 PR#4688: (Windows) special floating-point values aren't converted to strings correctly.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12030 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-16 10:23:51 +00:00
Alain Frisch f814bc1fcd #5478: Update Changes.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12029 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-16 09:13:37 +00:00
Xavier Leroy ee95e9fd91 More efficient implementation of {Set,Map}.{filter,partition}
Optimize Set.join just like Map.join was recently.
Added some tests for Set and Map.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12026 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-16 09:03:16 +00:00
Xavier Leroy 546bccd742 I messed up the distinction between "Bug fixes" and "Feature wishes". Repairing.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12024 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-14 09:48:01 +00:00
Xavier Leroy e9123cd60f PR#5327, PR#5329: improvements in Unix.select emulation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12023 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-14 09:40:49 +00:00
Fabrice Le Fessant faa64b3053 Fix bug #5476: native code compilation of let rec on float arrays
Applied the two patches of Gabriel Scherer to (1) fix the bug with
float array in let-rec, and (2) add a test-suite for let-rec



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12021 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-13 17:46:21 +00:00
Jacques Garrigue db50558e33 fix PR#5469
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12005 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-10 03:01:50 +00:00
Fabrice Le Fessant d02419cef7 Fix bug #3888 (String.map and Scanf.unescaped)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12004 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-08 15:38:38 +00:00
Fabrice Le Fessant 4c4a9fc507 Fix of #5467: no extern C in header files
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12000 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-07 20:55:28 +00:00
Damien Doligez 2c04ae521e PR#4549: make Filename.dirname/basename POSIX compliant
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11999 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-06 14:24:58 +00:00
Damien Doligez 6b4bb576df PR#352: new option to make ocaml read stdin as a script
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11980 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-30 16:28:16 +00:00
Damien Doligez 0c7984afc6 PR#5453: configure doesn't find X11 under Ubuntu/MultiarchSpec
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11978 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-29 20:42:11 +00:00
Wojciech Meyer 3542301ef7 PR#5454: Update Change log. Correct order of one of the bug fixes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11972 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-29 03:13:40 +00:00
Damien Doligez 6e7e555206 formatting and annotation of incompatible changes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11967 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-28 13:24:26 +00:00
Xavier Leroy c3ead2a680 PR#5325 ("remove" solution).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11966 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-28 10:38:55 +00:00
Alain Frisch 7f7dc416fd Reverting the let.expr syntax (no consensus on the proposal). Sorry for the noise.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11960 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-27 09:08:34 +00:00
Wojciech Meyer ddc66298a3 PR#5313: Add Change log entry
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11943 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-22 19:11:30 +00:00
Jonathan Protzenko b47d5b20f2 Fix #5437: when registering an option with Arg, if the option has an empty doc string, do not include it when printing the usage.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11939 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-22 14:04:18 +00:00
Xavier Leroy bc02593570 PR#5345: optimize checkbound for constant indices.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11934 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-22 09:36:45 +00:00
Jacques Garrigue 16d937aa40 fix PR#5436
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11930 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-22 07:30:18 +00:00
Damien Doligez 19e2bca8ea correct syntax highlighting in emacs (continued)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11923 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-21 15:39:12 +00:00
Xavier Leroy c8f32a4a50 Module Array: faster implementations of "blit", "copy", "sub",
"append" and "concat" (PR#2395, PR#2787, PR#4591)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11913 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-21 10:36:35 +00:00
Alain Frisch d79455bc76 New syntax for 'custom let bindings': let.simple_expr pat = expr in expr
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11906 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-21 08:58:56 +00:00
Alain Frisch 16c26c6de3 let-like operators.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11894 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-20 11:22:32 +00:00
Xavier Leroy a40d0432b2 PR#4880: added appropriate event to "assert" so that it shows up properly in stack backtraces
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11891 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-20 10:42:36 +00:00
Alain Frisch c1f154ea70 New option to force the compilers to show absolute paths in error messages.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11890 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-20 10:35:43 +00:00
Xavier Leroy b51df176a8 PR#5416: better implementation of set/clear_close_on_exec
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11888 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-20 08:59:09 +00:00
Xavier Leroy ca0c236919 PR#4869: rare collisions between assembly labels for code and data
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11887 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-18 10:00:56 +00:00
Xavier Leroy 3e42214295 Removed the obsolete native-code generators for Alpha, HPPA, IA64 and MIPS.
So long and thanks for all the fish.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11882 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-17 11:12:50 +00:00
Xavier Leroy 9178181eae The "DBM" library (interface with Unix DBM key-value stores) is no
longer part of this distribution.  It now lives its own life at
https://forge.ocamlcore.org/projects/camldbm/.  Bye bye, DBM.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11881 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-17 10:45:23 +00:00
Alain Frisch 0b002c286a Update Changes.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11313 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-14 10:40:58 +00:00
Jacques Garrigue 6306860e1f fix PR#5343
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11297 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-10 02:51:09 +00:00
Damien Doligez 8b700ead50 better reporting of wrong version for .cmi files
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11292 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-11-29 15:55:49 +00:00
Xavier Leroy 854afdd4e9 Reverted most of previous change re: local labels in AMD64/MacOSX.
The wretched MacOSX "ld -shared" (under 10.6 at least) balks on
subtracting two local labels, while it deigns subtracting two
nonlocal labels.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11224 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-10-15 09:44:07 +00:00
Xavier Leroy fc82a408a3 AMD64/MacOSX code generator: make local asm labels really local. (L100 instead of .L100)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11221 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-10-15 08:55:43 +00:00
Xavier Clerc 5aa55e0fc8 PR#5330: thread tag with '.top' and '.inferred.mli' targets
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11169 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-08-08 09:39:10 +00:00
Jacques Garrigue 9dc661c3bf merge branches/gadts
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11160 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-29 10:32:43 +00:00