Create another branch to work on #5528


git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14504 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Some preparation for record arguments.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14505 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Type-check constructor creation with a record argument.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14506 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Encode record arguments into extra record declarations.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14508 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Cleanup (use attributes to pass information).

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14509 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Adapt ocamlopt.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14511 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Rvert parts of the original commit which are not relevant with the encoding approach.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14513 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Support for record arguments on exceptions.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14515 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Switch to t.A syntax for synthesized types.  Allow the user to refer to such as type.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14516 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Remove debug.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14517 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Always keep the original type parameters (with ordering) for synthesized record type declarations.  Add required existentials, sorted alphabetically.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14518 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Allow to give an explicit name (and specify parameters) for inlined records.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14519 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Get rid of 'as' clause in inline records.  Support re-export of sum types with inline records.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14529 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Support exception rebinding.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14530 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Distinguish explicitly representation of regular records and inlined records with tag = 0.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14531 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Adapt printer.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14548 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Printer for exception with inline records.

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14549 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Remove debug.

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

git-svn-id: http://caml.inria.fr/svn/ocaml/branches/constructors_with_record2@14551 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Document -ppx option.

From: Peter Zotov <whitequark@whitequark.org>

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