Keep attributes and location on recursive modules when inserted in the environment.

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@14996 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
PR#6469: -dsource prints Pervasives.(!) as Pervasives.!

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

Conflicts:
	Changes

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@14999 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
mantis 6489 (fix by Richard Jones)

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15001 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
CSE bug on amd64: Ifloatsqrtf involves a memory load

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15003 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Typo in destroyed_at_alloc and destroyed_at_c_call, D17 was incorrectly claimed to be preserved.


git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15006 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
#6411: -static-libgcc by default.

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15008 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
#6411: background info for -static-libgcc.

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15009 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
PR#6460: runtime assertion failure with large [| e1;...eN |]
float array expressions


git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15010 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
PR#6484 and PR#6486: CSE across memory allocations can present the GC with memory roots that are illegal.
Plus: lift the previous restriction that all arithmetic ops and loads have at most one result register, this isn't true for ARM with soft floats.
Plus: code refactoring and more comments.


git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15012 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
PR#6445: ocamlbuild fails to find ocamlfind.exe

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15014 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
PR#6477: Makefile.nt: odoc_info.cma and cmxa contain objects outside of ocamldoc

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15015 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
PR#6406: Expose OCaml version in C headers

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15016 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
PR#6453: It should be documented that Lexer.set_preprocessor receives EOL tokens

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15019 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
PR#6051: Document that all Sys function raise Sys_error

git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15020 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Follow-up to commit 15012: keeping checkbound equations is useless when load equations have been forgotten, as all checkbounds involve a load of a block header.  So, simplify things further by emptying the numbering after calls and allocs.


git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15021 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Merge branch '4.02' of github.com:ocaml/ocaml into namespaces_2014

Conflicts:
	VERSION