- 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
Do not add absolute paths for information added to
the local environment in Env.components_of_module_make.
Fixes the bug reported by Mark Shinwell on caml-devel,
on 2014-04-23. This bug was related to module aliases.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14674 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Follow-up to commit 14673: Iconst_float now takes a float, no longer a string.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14675 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Handler-case implementation (match syntax).
Static exceptions can exit try...with blocks.  Currently works only in bytecode.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/static_exceptions@13222 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02

Conflicts:
	typing/typecore.ml
Static exceptions can now escape try blocks also in native code.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/static_exceptions@13223 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02

Conflicts:
	typing/typecore.ml
Add support for the combination of tuple matches and exception clauses.

Code like the following no longer allocates a block for the scrutinee
expressions:

   match x, y with
     | A p, false  -> e1
     | B p, true   -> e2
     | _           -> e3
     | exception E -> e4
Refactor 'match' compilation.
Test suite for handler-case.
Use val cases, not exn cases, to approximate the type of a match.
Remove the unused function Pprintast.is_irrefut_patt.
Extend the pattern algebra rather than the Pexp_match constructor.