be explicit when constructing integers that are block headers

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14464 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
improved abstractions for register naming in the native code backend

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14465 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
#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
Add non-regression test for #5779.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14469 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Also check sharing of immutable constants.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14470 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
PR#6349: ocamlbuild.cm{o,x} must not be included in ocamlbuild.cm{a,xa}

The bug, reported by Jacques-Pascal Deplaix, was only in trunk -- it
appeared in the bootstrap->Makefile transition.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14471 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
fix error in previous register naming patch

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14472 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Fix Makefile.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14473 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
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
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
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
Pervasives: define [min_int] and [max_int] without assuming that integers are either 31 or 63 bits.

(Patch by Jérôme Vouillon)

Js_of_ocaml has 32 bit integers. Currently, it patches the bytecode,
just to get the correct values for [min_int] and [max_int]. It would be
simpler if this was not necessary.

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14477 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
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
#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
Oups

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14480 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
[minor] add strmatch to Makefile.nt

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14481 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Fix PR#6350

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14482 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Optimize Env.find_module further for PR#6350

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14483 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Ensure that record patterns don't miss any field in Ast_mapper (use of optional arguments in Ast_helper makes it too easy to forget some fields).

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14484 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
#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