Commit Graph

1354 Commits (e331dacf29c5e2af5f07ee68b1a500d5ba36457d)

Author SHA1 Message Date
Jacques Garrigue 70a5d6af9f fix a variance bug in GADTs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13802 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-18 13:04:32 +00:00
Alain Frisch ba38d00535 #5980: a different warning for shadowing labels/constructors and for other kinds of identifiers. (Cherry-picked from commit 13796 on 4.01.)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13797 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-18 08:01:02 +00:00
Jacques Garrigue d53e2b57b2 Make GADT inference robust to useless equations
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13790 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-17 03:02:14 +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
Alain Frisch ee8d80e3a9 #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@13756 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-07 15:35:43 +00:00
Alain Frisch 207f9fb7f7 #6030: Avoid repeated flushes.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13742 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-04 13:46:48 +00:00
Alain Frisch 2e199ef1f2 Item attributes on each let-binding.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13736 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 15:14:19 +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
Pierre Weis 38cac2d847 Move back to revision r13685.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13733 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-03 11:12:31 +00:00
Pierre Weis cba8ab21e4 Introducing %A and %R conversion. Untabify. Wrong quoting chase.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13719 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-29 18:25:05 +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
Jérémie Dimino 8cee3aedf9 Revert addition of raw literals to the parsetree
It turns out it is not possible to have the exact raw representation
since a constant does not always correspond to exactly one token, so
there is no point in making the AST more complex.


git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13702 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-23 15:12:04 +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
Jérémie Dimino 4e7ae971a7 add the raw representation of constants to the parsetree
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13696 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-20 11:37:41 +00:00
Jacques Garrigue ccf56e3b2a fix bug in short-paths: must ignore position when comparing paths
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13695 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-20 03:12:46 +00:00
Alain Frisch 4f24f8ab0f #5980: only report shadowing against the environment before the 'open'.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13689 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-17 10:12:31 +00:00
Alain Frisch a3b1c67fff #5980: explicit way to silence the new warning (open! X).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13685 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-16 13:34:53 +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
Alain Frisch 7fa05e12d4 Fix error message.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13664 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-13 12:15:31 +00:00
Jacques Garrigue 9f105f3cba protect against Ctype.equal changing the representative
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13651 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-04 10:32:06 +00:00
Jacques Garrigue c09d328c31 More clever handling of constrained parameters:
if the same type appears at the right variance inside
parameters, no need to check its type variables


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13650 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-04 08:52:44 +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 67e18e5c4d Fix PR#5985 for constrained parameters too.
Required more variance information, so variance is now an abstract type.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13645 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-03 13:38:30 +00:00
Jacques Garrigue cc0daa3c3f typo in -short-paths
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13641 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-02 01:30:25 +00:00
Jacques Garrigue bdf9c6bae7 For -short-paths, lookup the whole environment, but avoid recomputation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13640 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-05-02 01:02:15 +00:00
Jacques Garrigue f35c7d123f Take ambiguity into account when using -short-paths option.
Namely, do not use an abbreviated form which doesn't correspond
directly to a physical definition when it might point to
several definitions, due to multiple opens.
Also be careful about not abbreviating types we are defining
in type definitions.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13635 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-30 09:05:26 +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
Alain Frisch 2bbf91ca42 #5832: patch to improve 'wrong file naming' error messages.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13618 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-29 14:57:38 +00:00
Jacques Garrigue 35d1dde122 Improve message for warning 40
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13612 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-26 13:09:24 +00:00
Luc Maranget ebfc4e6cff Fix PR #5992
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13611 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-25 13:32:17 +00:00
Jacques Garrigue b20679022a printing of anonymous type parameters after strengthening
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13603 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-24 11:02:49 +00:00
Jacques Garrigue 5f27c34e10 Apply patch from PR#5944
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13588 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-23 00:18:15 +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
Alain Frisch eb4130e47c The arument of attributes and extension nodes is now a structure, which is syntactically more general than an expression (through the embedding E -> [Pexp_eval E]).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13579 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-19 07:40:57 +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
Alain Frisch 67912da346 Allow abstract module declaration in structures to make the syntax and Parsetree more uniform.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13556 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-18 13:14:53 +00:00
Alain Frisch 84147074f9 Split Pexp_constraint into Pexp_coerce/Pexp_constraint.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13552 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-17 12:23:44 +00:00
Alain Frisch d2171a98d8 Split Pexp_function into Pexp_function/Pexp_fun.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13551 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-17 11:43:29 +00:00
Alain Frisch b22865d0a9 Check AST invariants.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13550 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-17 10:01:24 +00:00
Alain Frisch b36ec9f764 Get rid of the 'explicit arity' flag on Pexp_construct/Ppat_construct. If really requires (for camlp5?), the feature should be reimplemented with attributes.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13549 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-17 09:46:52 +00:00
Alain Frisch 501dfd2b5e Getting rid of Pexp_assertfalse/Texp_assertfalse.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13548 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-17 09:18:03 +00:00
Alain Frisch 088de517d8 Keep interval pattern sugar in the Parsetree (Camlp4 parsers still expand them).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13546 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-16 15:34:09 +00:00
Alain Frisch 158bc9c9e3 Get rid of the undocumented syntax #c[>`A] (#5936, #5983).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13542 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-16 12:17:17 +00:00
Alain Frisch 3fe10139ab Better representation of with-constraints.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13540 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-16 10:47:45 +00:00
Alain Frisch c8743ab55f Remove pcsig_loc field + doc.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13538 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-16 09:21:05 +00:00
Alain Frisch ecb088015f Rename Pcty_fun to Pcty_arrow (and idem in Types, Typedtree, Outcometree) to be coherent with Ptyp_arrow.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13536 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-16 08:59:09 +00:00
Alain Frisch bfc9a8f9e1 Get rid of the location argument on pci_params, and improve location of error messages.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13534 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-16 07:51:27 +00:00
Alain Frisch dd200d9553 Allow the method body to be represented by a non Pexp_poly expression in the Parsetree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13530 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-15 17:26:32 +00:00
Alain Frisch e7736899fb Explicit representation of guards, get rid of Pexp_when.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13528 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-15 16:23:22 +00:00
Alain Frisch 57f1133e0a Represent the closed flag of Ptyp_variant using closed_flag instead of bool, and start documenting the Parsetree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13517 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-12 16:08:52 +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
Alain Frisch 04de43bee5 Attributes on Pstr_eval.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13512 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-11 14:07:32 +00:00
Alain Frisch 92ad47d47b Keep item attributes on let-binding structure items.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13511 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-11 13:52:06 +00:00
Alain Frisch 3a5b7fe6b4 Convenience functions to build AST + implicit location.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13508 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-11 12:50:38 +00:00
Alain Frisch a929cdb339 Cosmetic.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13503 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-10 18:00:11 +00:00
Alain Frisch 90bbd25948 Extension nodes as class field or class type field.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13502 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-10 17:54:54 +00:00
Alain Frisch 6e36fd566b Extension nodes and attributes for class types.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13501 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-10 17:44:15 +00:00
Alain Frisch ee5f754a42 Attributes and extension points in class_expr.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13500 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-10 17:26:55 +00:00
Alain Frisch e2036c5a22 Start to bring constructor names closer to concrete syntax.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13497 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-10 11:17:41 +00:00
Alain Frisch 580bb34579 Renaming pcstr_pat -> pcstr_self, cstr_pat -> cstr_self.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13496 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-10 09:35:09 +00:00
Alain Frisch ec9dacb3f1 Support for attributes on class type fields.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13494 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-10 09:17:22 +00:00
Alain Frisch d84ae41182 Item attributes on class fields.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13493 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-09 15:54:41 +00:00
Alain Frisch d1751e4738 Allow to not have empty Ptyp_poly node in the Parsetree (the type-checker insert them automatically).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13491 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-09 14:10:54 +00:00
Alain Frisch 1eb1ec4c40 Get rid of core_field_type, more direct representation of object types.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13489 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-09 13:29:00 +00:00
Alain Frisch 47a3ee095e Get rid of the Default case in Asttype.rec_flag.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13481 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-04 12:38:20 +00:00
Alain Frisch 27d523ea72 Better representation of variance in the Parsetree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13474 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-04-02 15:33:35 +00:00
Alain Frisch 6bfcb1da5b Support for quoted strings.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13450 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-26 11:17:17 +00:00
Alain Frisch c2c5b10685 Align module type binding with Parsetree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13448 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-26 08:21:29 +00:00
Alain Frisch 2ffa26af82 Align module binding with Parsetree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13447 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-26 08:09:26 +00:00
Alain Frisch 77d3fce857 Align exception_declaration with Parsetree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13446 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-25 18:42:45 +00:00
Alain Frisch f4ca2da467 Align type_declaration with parsetree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13445 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-25 18:20:11 +00:00
Alain Frisch 25815e6e77 Align typed value_declaration with parsetree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13444 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-25 18:04:40 +00:00
Alain Frisch fbde1f7e52 Align module and module type declarations between Parsetree and Typedtree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13443 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-25 17:47:28 +00:00
Alain Frisch 0b9347f482 Represent exception declarations as constructor declarations in the Parsetree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13442 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-25 15:49:10 +00:00
Alain Frisch dd61fb5e55 Represent label and constructor declarations as records in the typedtree. Also keep return type for GADT constructors.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13441 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-25 14:56:56 +00:00
Alain Frisch 5c98dd91fe Starting to keep attributes in the typedtree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13440 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-25 14:16:07 +00:00
Damien Doligez 2cbba4b445 fix whitespace
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13430 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-22 18:20:25 +00:00
Gabriel Scherer 75b8c0184f PR#5933 type-specialize 'let compare = compare' on ints and strings
According to the reporter 'sliquister', type-specialized comparison
can nearly halve compilation time in some cases. This patch applies
type-specialization throughout the OCaml distribution sources, so not
all changes will have performance utility, but in this case I think
it's best to be consistent, as I see no downside to the change.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13410 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-19 07:22:12 +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
Jacques Garrigue 32de864a67 improve Ambiguous_name warning
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13395 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-12 14:56:15 +00:00
Alain Frisch b0987fd693 Attributes on expresions (etc) are now stored in the expression record, to facilitate pattern matching on structured fragments of AST while ignoring attributes. Introducing a new Ast_helper module to help creating AST fragments.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13381 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-08 14:59:45 +00:00
Alain Frisch 97c5f1a253 Attributes on label in record type declarations.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13361 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-06 13:51:18 +00:00
Alain Frisch d50038cae7 Attribute has structure/signature item.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13359 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-06 12:27:32 +00:00
Alain Frisch 2cf65c8c85 Record for module type declarations.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13358 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-06 12:14:02 +00:00
Alain Frisch 24a0c6eb0e Name is part of the value_description record.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13357 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-06 12:00:18 +00:00
Alain Frisch 241abe55e6 Type name is part of the type declaration record.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13356 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-06 11:47:59 +00:00
Alain Frisch 59bdf321d3 Switch Pstr_modtype argument to a record type.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13355 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-06 10:49:44 +00:00
Alain Frisch d32b19008a Parse recursive module as standard modules, and check in the type-checker that an explicit type is provided. (Unfinished.)
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13353 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-05 16:50:05 +00:00
Alain Frisch cc70961d4f Support item attributes on exn rebind.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13351 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-05 12:44:40 +00:00
Alain Frisch b01b7305bd Put name in the exception_declaration record.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13350 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-05 12:37:17 +00:00
Alain Frisch db579b0a1e Extension as structure/signature items [%%lid expr].
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13346 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-05 11:46:25 +00:00
Alain Frisch 8461db39f1 Attributes on module/module type/recursive module declarations in interfaces.
Module:

[^^id expr] [^^id expr] ...
module X : S
[@@id expr] [@@id expr] ...

Module types:

[^^id expr] [^^id expr] ...
module type X = S
[@@id expr] [@@id expr] ...

Recursive modules:

module rec [^^id expr] [^^id expr] X1 : S1 [@@id expr] [@@id expr] ...
       and [^^id expr] [^^id expr] X1 : S1 [@@id expr] [@@id expr] ...




git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13344 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 17:39:07 +00:00
Alain Frisch a5059464fe Attributes on open/include in signatures.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13343 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 16:36:32 +00:00
Alain Frisch 46c790a663 Attributes on exception declarations.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13342 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 16:20:49 +00:00
Alain Frisch 5f0aead005 Adding attributes on constructor declarations (type t = A [@id expr] | B [@id expr] of ...), and switch to a record type to represent those constructor declarations in the Parsetree.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13338 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 15:35:47 +00:00
Alain Frisch be76a15a6b Attributes/extensions as module types.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13336 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 14:11:15 +00:00
Alain Frisch a2acbc8d3b Adding extension/attribute on patterns.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13335 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 13:52:23 +00:00
Alain Frisch e58b2cd036 Continue.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13333 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-04 12:54:57 +00:00
Alain Frisch c8d3ff52a2 Cleanup + support attributes on type declarations (syntax: type t = ... with (:a1 expr1) (:a2 expr2) ... (:an exprn)).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13332 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-03-01 12:44:04 +00:00
Alain Frisch 152255e512 First version with attributes and extensions on expressions, type expressions and structure items.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13330 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-28 16:51:59 +00:00
Jacques Garrigue 1f5882e53d Replace error by warning for PR#5835
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13298 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-19 03:12:36 +00:00
Jacques Garrigue c76b791ca4 Add warning 42 for disambiguated labels and constructors (compatibility with old versions)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13297 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-19 02:45:09 +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 40ee2b4e6f small fixes on GADT ambiguity levels
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13288 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-02-01 10:20:21 +00:00
Jacques Garrigue 26e1ff7138 Merge short-paths into a fresh branch of trunk.
Also fix a bit unification and subtyping errors.
You now need the flag -short-path to activate short paths.



git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths-4.01@13285 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-29 14:21:12 +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
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
Alain Frisch fdaca2156b #5877: improve performance of repeated open statements on the same module (most useful for local opens).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13236 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-15 12:53:31 +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
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 21f09281f3 Fix #5876.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13214 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-01-08 09:40:55 +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
Alain Frisch f1d0e5afab Add a -dtypedtree flag to all tools (using Printtyped). Also fix ocamlnat.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13139 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-18 17:19:53 +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
Jacques Garrigue 1430e90e89 shorten paths in annot + lookup abbreviations in persistent structures
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@13132 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-17 03:18:31 +00:00
Jacques Garrigue 6a55d4f552 improve performance
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@13124 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-10 10:39:26 +00:00
Jacques Garrigue 2d4cb892dd expand to simpler types
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@13123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-10 10:39:07 +00:00
Jacques Garrigue 85bb9663e6 Improve fix of PR#5848 (allow disambiguation, only restrict scope of GADTs)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13119 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-08 02:40:56 +00:00
Jacques Garrigue b7370effb7 fix PR#5848 by disabling disambiguation for GADTs in patterns
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13117 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-07 02:22:18 +00:00
Jacques Garrigue c8273a179c merge branches/record-disambiguation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13112 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-06 09:41:21 +00:00
Alain Frisch 705510eef9 Remove unused (and wrong) value declaration.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13111 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-12-04 16:25:37 +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
Alain Frisch 8ec89825dd Typos.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13094 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-15 13:57:46 +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
Gabriel Scherer 35160d3712 fix two minor stale locations (Location.none) in typemod.ml
The two bewildering "_none_" error messages fixed by this commit
could be observed in the following way:
  echo "let f (x, y) = x + 1" > test.ml
  touch test.mli
  ocamlc -c -annot test.ml
    File "_none_", line 1:
    Error: Could not find the .cmi file for interface test.mli.
  grep "def f" test.annot
    def f "test.ml" 1 0 20 "_none_" 1 0 -1

Behavior after the fixes:
  echo "let f (x, y) = x + 1" > test.ml
  touch test.mli
  ocamlc -c -annot test.ml
    File "test.ml", line 1:
    Error: Could not find the .cmi file for interface test.mli.
  grep "def f" test.annot
    def f "test.ml" 1 0 20 "test.ml" 1 0 -1

One could argue that for the "could not find the .cmi" error, the file
chosen could be test.mli. I find it more natural to have the name of
the file that the user asked to compile (and therefore provoked the
error). Any of those choices is better than "_none_" anyway.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13091 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-11 10:59:43 +00:00
Jacques Garrigue 17fc404e78 merge patch new-error.diff by lpw25
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13090 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-11 03:46:59 +00:00
Alain Frisch a3f4a6ead5 #5809: do not store a structure item together with sub-components in partial cmt files.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13081 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-08 13:47:41 +00:00
Alain Frisch e046009e4d #5809: do not keep both an expression and its sub-expressions in a partial .cmt file (in case of type error).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13080 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-08 10:51:00 +00:00
Alain Frisch a3d6b5879c Simplify.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13079 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-08 10:41:11 +00:00
Alain Frisch 066dce8c20 #5809: remove hash-consing of environments, replaced by a much cheaper one-slot memoization.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13078 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-08 10:31:58 +00:00
Alain Frisch cf72576e97 #5814: remove annotations from environments; to produce .annot file, use the location from the value_description record.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13076 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-08 09:40:21 +00:00
Jacques Garrigue 204eb64b0d better errors + fix escaping exception
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13075 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-08 09:39:23 +00:00
Alain Frisch e2729b2715 Replace commly used format strings into simple calls to format functions, to improve performance of .annot file generation.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13072 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-07 10:50:14 +00:00
Alain Frisch d4ea76d782 Even faster version.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13071 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-07 10:14:02 +00:00
Alain Frisch 52e9f4fe9f Avoid format strings to generate .annot files; just switching to basic Format function gives a 25% speedup over total compilation time for 'ocamlc.opt -annot' applied to typing/typecore.ml.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13070 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-06 18:25:47 +00:00
Alain Frisch 86bd40310d Attempt to fix #5805 (not tested).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13065 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-06 16:36:34 +00:00
Jacques Garrigue 57c80844f5 add spellchecking for Wrong_name
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13057 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-11-01 03:32:34 +00:00
Jacques Garrigue 94dafac93b keep longident in Typecore.Wrong_name
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13056 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-31 23:53:28 +00:00
Alain Frisch 4e92b813c1 Fix typo.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13053 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-31 17:44:44 +00:00
Jacques Garrigue c991227ab2 fix warnings
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13052 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-31 12:36:13 +00:00
Alain Frisch cf2551d9c6 Whitespace cleanup.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13051 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-30 09:02:04 +00:00
Jacques Garrigue 5323da7fad fix warnings
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13049 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-30 01:02:08 +00:00
Jacques Garrigue 8fac736f31 clean up and merge the patch disambiguate-with-warning from PR#5759
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13048 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-29 07:54:06 +00:00
Jacques Garrigue 9fddc2ee55 clean up
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13046 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-24 14:42:41 +00:00
Alain Frisch 0415a557c4 In the unqualified case, allow typed-based resolution to succeed even if the label is not accessible in the toplevel environment (i.e. the module has not been opened).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13045 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-24 14:00:27 +00:00
Alain Frisch 90c1adb6ad Synchronize with trunk, to benefit from simplifications made possible by r13043.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13044 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-24 12:57:16 +00:00
Alain Frisch 0b37b27356 Stop keeping a Path.t to refer to labels and constructors in the Typedtree AST. This is not used internally and it is not a robust way to identify these objects unambiguously anyway
(especially when we will add more powerful disambiguation strategies).  The correct way to identify an item is through the pair (type,name), which can be deduced from the
label_description/constructor_description stored in the Typedtree.



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13043 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-24 12:03:00 +00:00
Alain Frisch 81b2f1770e Make it more explicit that the label's type must be a Tconstr.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13038 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-19 08:04:33 +00:00
Jacques Garrigue 4e5463f335 protect call to Env.find_type
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13037 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-19 03:21:27 +00:00
Alain Frisch 01f6ba510b Cleanup.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13036 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-18 17:08:09 +00:00
Jacques Garrigue 70173dba45 only expand to first concrete definition
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13035 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-18 07:35:30 +00:00
Jacques Garrigue f55e794e82 fix label lookup
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@13034 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-18 06:20:23 +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
Damien Doligez 59371b9d75 remove TABs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13014 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-15 18:01:26 +00:00
Damien Doligez def31744f9 remove all $Id keywords
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13013 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-15 17:50:56 +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
Jacques Garrigue e196c83bf3 Fix PR#5785
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13008 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-12 01:34:51 +00:00
Jacques Garrigue 8e94d482d7 use variable name from definition for existentials (cf. PR#5780)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12998 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-10-10 09:38:03 +00:00
Luc Maranget 4e6e061882 Checked #PR5758, (also closed bug in Mantis)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12958 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-27 12:32:54 +00:00
Jacques Garrigue aede4856a8 also support report construction and pattern matching
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@12945 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-21 11:16:02 +00:00
Jacques Garrigue 0b64b8063c take instance before expanding
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@12944 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-21 08:42:08 +00:00
Jacques Garrigue cbebd57bcd also support Pexp_setfield
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@12943 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-21 07:01:44 +00:00
Jacques Garrigue 7828cb7907 access label information from type in Env
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@12942 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-21 06:37:17 +00:00
Alain Frisch b164267d8e Fix 'make world'.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/record-disambiguation@12941 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-20 08:17:07 +00:00
Jacques Garrigue e086aa9a8d Fix PR#5758
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12937 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-19 06:57:17 +00:00
Jacques Garrigue ac0152bc62 cancel commit in wrong branch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12936 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-19 03:32:33 +00:00
Jacques Garrigue bf765ef084 use types to disambiguate record access
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12934 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-19 03:09:01 +00:00
Alain Frisch 19280e3ef0 Formatting.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12920 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-11 11:33:56 +00:00
Alain Frisch 9748c4aa16 Fix content of .cmt files correponding to the automatic 'discarding' of optional parameters (missing labels + bad order of inserted 'None' arguments).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12919 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-10 13:00:01 +00:00
Alain Frisch 9d45c49928 Fix #5747 ('unused open' warning not given when compiling with -annot).
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12905 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-09-03 17:03:49 +00:00
Jacques Garrigue 35185d610b merge version/4.00 at revision 12866
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@12869 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-21 07:10:35 +00:00
Damien Doligez 6be05dae42 add some missing copyright headers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12814 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-08-02 08:17:59 +00:00
Damien Doligez 997a678d5e clean up TABs and whitespace
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12799 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-30 18:04:46 +00:00
Fabrice Le Fessant 5ae3458a4d Remove dependency from typing/envaux.ml to bytecomp/instruct.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12793 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-30 10:00:10 +00:00
Alain Frisch 504f620fc7 #5697: better location for warnings on statement expressions.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12763 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-24 08:57:52 +00:00
Jacques Garrigue d94c59240f Fix PR#5694 by checking that the number of parameters is identical
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12753 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-21 01:12:51 +00:00
Jacques Garrigue 19a650aa7f Fix PR#5689
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12725 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-18 03:21:12 +00:00
Damien Doligez c74d9836f0 removed bogus $Id lines
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12721 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-17 15:57:37 +00:00
Alain Frisch 7ce309af1b Small tweak to avoid creating delayed checks after delayed checks have been executed.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12711 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-13 16:47:12 +00:00
Fabrice Le Fessant 776c46fce8 Fix problem of size of bin-annot files
- Reset most of the fields of Env.t when saving bin-annot files
- Move debugger/envaux.ml to typing/, and add a function to 
    recover environements from bin-annot files.
- Move tools/typedtreeIter.ml to typing/
- Move the code of typing/typedtreeMap.ml from cmt_format.ml



git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12702 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-12 11:02:18 +00:00
Jacques Garrigue 43c7d1b51c fix PR#5674: move Texp_poly and Texp_newtype to exp_extra
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12680 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-07-10 08:25:58 +00:00
Jacques Garrigue 420a2f00d7 applied (improved) patch of PR#5654
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12613 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-19 10:02:34 +00:00
Jacques Garrigue 08f29984ea Fix stack overflow by checking cycles for all types before regularity
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12608 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-14 10:42:56 +00:00
Jacques Garrigue d683e249ca Fix PR#5073: Wrong location for 'Unbound record field label' error
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12605 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-13 23:45:01 +00:00
Jacques Garrigue 50abdb66a3 Fix constraint checking regression; one stack overflow remains in typing-misc/constraints.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12603 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-13 22:03:46 +00:00
Jacques Garrigue 929e3e5ba5 Fix (type a) scope, was broken by gadt addition
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12599 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-13 08:38:32 +00:00
Alain Frisch 788846a845 #5640: use open_in_bin to read cmt files.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12591 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-08 15:30:52 +00:00
Alain Frisch 441abfc779 #5639: Write cmt files with open_out_bin.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12589 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-08 13:24:20 +00:00
Alain Frisch 6d391dca01 #5632: with-constraints count as references.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12549 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-04 10:01:25 +00:00
Alain Frisch 76c4f6d0b8 #5629: A toplevel 'open' in the REPL does not trigger an unused open warning.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12541 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-01 14:05:49 +00:00
Alain Frisch 72a3558398 Fix #5631: Missed unused open.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12537 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-01 08:19:35 +00:00
Jacques Garrigue aa9ff663b1 Fix PR#4838, PR#4511
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12535 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-01 08:05:48 +00:00
Jacques Garrigue 6219455e62 Fix PR#5224
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12533 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-06-01 05:12:44 +00:00
Jacques Garrigue d8f8f9ee3b keep the text width to 80 columns
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12522 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-31 08:07:31 +00:00