Commit Graph

835 Commits (7d5a2ecde84a73dd336199b84a899b1c8850ea8e)

Author SHA1 Message Date
Alain Frisch 62fea28d29 Changelog for #6374.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15335 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-25 15:58:20 +00:00
Alain Frisch d300d7ba2e Changelog.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15322 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-24 09:31:01 +00:00
Mark Shinwell 526f7bbf40 PR#6554: race condition in caml_get_raw_backtrace
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15211 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-09-11 11:11:42 +00:00
Xavier Leroy 132c529b75 Reflecting commit 15169 on version/4.02:
PR#6529: fix quadratic-time algorithm in Consistbl.extract.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15170 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-31 14:44:51 +00:00
Damien Doligez a18bc7950b merge changes of version/4.02 from r15121 to r15155
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15168 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2014-08-29 17:14:00 +00:00
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