Jacques Garrigue
6ffc859a5c
everything works except camlp4
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14204 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-10-01 03:17:11 +00:00
Jacques Garrigue
eda1266114
passes the testsuite!
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14202 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-30 15:54:02 +00:00
Jacques Garrigue
5f68db9cf0
Merge trunk at revision 14200. Now everything works except private types
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14201 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-30 13:54:59 +00:00
Jacques Garrigue
4c5e9bbe6b
mostly works, but:
...
* a strange bug in open
* spurious bindings in the lambda code
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14200 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-30 11:35:15 +00:00
Jacques Garrigue
e686ed503a
now works with nested structures; still problems inside functors
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14199 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-30 03:18:47 +00:00
Jacques Garrigue
9ddb346f54
do not alias functor parameters + some problems with coercions not fixed yet
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14198 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-30 02:10:21 +00:00
Jacques Garrigue
e0cdc52ba0
module translation + bad functor example
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14197 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-29 11:49:07 +00:00
Jacques Garrigue
97899f37ca
Support module aliases.
...
Namely, you can write "module L = List" in signatures,
and avoid have the compiler use directly List when you write L.
See examples in testsuite/tests/typing-modules/aliases.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/module-alias@14196 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-29 07:22:34 +00:00
Alain Frisch
cc31694f7c
Keep attributes on module declarations.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-27 17:05:39 +00:00
Alain Frisch
c0778758c1
Keep attributes/locs for class type declarations and class declarations in Types. Renaming cty -> csig prefix for class signatures to be coherent with Typedtree.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14194 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-27 15:04:03 +00:00
Alain Frisch
645dcf25e5
Keep location and attributes in type, label and constructor declarations. Deprecated warning when a deprecated type or constructor is referenced.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14191 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-27 10:54:55 +00:00
Alain Frisch
6873f39817
Keep attributes on value declarations in .cmi files (but clear all the location fields, except if -keep-locs is used, of course). Use this to report a warning when a value marked as [@@deprecated] is referenced ( #5854 )
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14188 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-26 15:24:11 +00:00
Alain Frisch
b414d57b0e
Simplify type_structure.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14170 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-20 16:19:54 +00:00
Jacques Garrigue
010728722f
PR#6173: Improve error messages for type-based disambiguation
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14166 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-19 07:25:51 +00:00
Alain Frisch
c8d20ade02
Do not track unused type declarations created by 'include'.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14158 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-17 14:28:31 +00:00
Alain Frisch
40117f7480
#5817 : new compiler flag (-keep-locs) to keep location in cmi files.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14157 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-17 12:45:05 +00:00
Alain Frisch
9a4a944363
#6182 : better error message for virtual objects and class types.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14155 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-17 11:28:33 +00:00
Alain Frisch
2e16ccd61f
Switch Includemod.Error, without trying to split the message (to keep current behavior).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/exception_registration@14117 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-12 14:21:04 +00:00
Alain Frisch
af5e566d62
Switch Typetexp.Error, Typedecl.Error, Typemod.Error, Typeclass.Error.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/exception_registration@14114 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-12 14:06:48 +00:00
Alain Frisch
08ed781ecc
Switch Ctype.Tags.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/exception_registration@14113 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-12 13:59:45 +00:00
Alain Frisch
c18155a018
Switch Cmi_format.Error.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/exception_registration@14112 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-12 13:50:36 +00:00
Alain Frisch
de72ef4a89
Simplify common case of unit-wide errors.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/exception_registration@14111 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-12 13:47:04 +00:00
Alain Frisch
6950d6f780
Do not keep file name in exception, after all.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/exception_registration@14110 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-12 13:41:01 +00:00
Alain Frisch
290fe0c0b2
Keep input file in Env.Error. Switch it to the new system.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/exception_registration@14109 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-12 13:00:22 +00:00
Alain Frisch
47be69c2b0
Cherry-picking commit 14093 from trunk.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/exception_registration@14104 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-11 16:08:00 +00:00
Jacques Garrigue
d09dee8f9c
Fix PR#6163
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14065 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-06 05:35:55 +00:00
Jacques Garrigue
567bca77d2
Fix PR#6158
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14063 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-05 08:26:01 +00:00
Damien Doligez
7844495624
Merge branch 4.01 from branching point to 4.01.0+rc1
...
Command line used:
svn merge --accept postpone -r 13776:14055 $REPO/version/4.01 .
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14060 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-09-04 15:12:37 +00:00
Alain Frisch
842f6794a9
Synchronize with trunk.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@14042 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-28 17:10:04 +00:00
Jacques Garrigue
7a6d827026
Fix PR#6123
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14021 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-08-20 03:00:19 +00:00
Jacques Garrigue
1fc309687a
allow spurious private in with constraint for backward compatibility, but warn
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13953 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-31 02:49:13 +00:00
Jacques Garrigue
47d094db83
Fix PR#6090
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13937 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-26 23:04:51 +00:00
Jacques Garrigue
d3e731774e
Fix PR#5802
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13926 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-24 08:11:20 +00:00
Alain Frisch
b0d5fc28a2
Synchronize with trunk.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13922 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-22 17:03:39 +00:00
Alain Frisch
87d9d6c877
More explicit internal representation of attribute payload. Now also support patterns as payload [%id ? pat].
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13919 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-22 14:58:15 +00:00
Alain Frisch
d3be8230a7
#6073 : Add signature to Tstr_include. (Cherry-picked from commit 13903 on 4.01.)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13904 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-17 15:25:47 +00:00
Alain Frisch
525ef9d703
Synchronize with trunk.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/extension_points@13897 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-16 13:34:30 +00:00
Alain Frisch
f836495698
Fix #5571 .
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13877 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-09 11:16:25 +00:00
Alain Frisch
b4c2dc9336
Remove duplicated declaration.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13872 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-07-04 12:27:06 +00:00
Jacques Garrigue
07b8b7dd74
Fix PR#6056
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13845 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-28 10:43:25 +00:00
Jacques Garrigue
f4d0232689
fix PR#5914
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13829 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2013-06-22 07:31:37 +00:00
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
Fabrice Le Fessant
c3b08c9149
merge with bin-annot: add missing files
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12517 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-30 15:25:49 +00:00
Fabrice Le Fessant
d39d43e55f
merge with branch bin-annot
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12516 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-30 14:52:37 +00:00
Xavier Clerc
acc19ff167
Removal of unnecessary "rec" clauses (to please warning #39 ).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12508 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-29 13:41:14 +00:00
Alain Frisch
5035a24bd0
Detect (and fix some) useless recursive flags.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12500 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-29 12:30:49 +00:00
Alain Frisch
a0a14c08fa
Enable and fix more warnings.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12498 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-29 11:47:28 +00:00
Alain Frisch
05c973e6ed
Compile with warning 33, and remove unused opens.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12497 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-29 11:10:03 +00:00
Jacques Garrigue
18cb4a0c28
typo
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12492 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-28 21:58:42 +00:00
Jacques Garrigue
c7873aa96e
Improve error message (and indentation)
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12491 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-28 21:57:08 +00:00
Alain Frisch
c46da52b57
Typo.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12490 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-28 11:56:28 +00:00
Alain Frisch
e9387ac80f
#5618 : include inferred type in 'not a function' and 'too many argument' error messages.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12489 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-28 11:54:36 +00:00
Jacques Garrigue
a745e3c6fe
fix PR#5619
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12482 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-25 05:11:55 +00:00
Jacques Garrigue
a23314e0b8
Catch Not_found when calling Env.find_type + call Includemod.signatures in Toploop
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12439 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-05-08 04:26:13 +00:00
Jacques Garrigue
41f177742e
disable unused warnings for identifiers defined in the toplevel
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12399 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-25 07:51:29 +00:00
Alain Frisch
6e7c62b0b9
#5601 : Shouldn't warn about unused constructors when there is an equation.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12397 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-25 07:34:41 +00:00
Jacques Garrigue
de7262e181
prefer newest name + only update env after printing
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@12380 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-19 06:23:14 +00:00
Alain Frisch
d634683a9c
#5596 : Do not report unused constructors within signatures.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12378 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-18 18:45:49 +00:00
Alain Frisch
9f46d7222a
Improve message for Unused constructor/exception warnings.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12371 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-18 09:01:17 +00:00
Alain Frisch
8b273ea32f
Typo.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12360 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-16 16:37:15 +00:00
Alain Frisch
e20fc11742
#5594 : Unused constructors are not reported if their type starts with underscore.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12358 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-16 16:30:06 +00:00
Alain Frisch
44cdb20670
Fix #5588 .
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12348 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-12 17:21:39 +00:00
Jacques Garrigue
1d79bec5d0
build a map from internal paths to printed paths
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@12340 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-11 05:50:08 +00:00
Jacques Garrigue
cb5189763f
remove opened modules in type paths
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@12310 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-04-03 03:44:30 +00:00
Jacques Garrigue
7a8e3126ba
fix partial copy bug + unshare method types with -principal
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12289 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-28 10:39:05 +00:00
Jacques Garrigue
40e2854e21
Fix PR#5560
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12286 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-28 00:35:41 +00:00
Jacques Garrigue
20759f9818
Fix PR#5554 by restricting optional parameter elimination through coercions to variables and applications
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12269 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-25 06:41:42 +00:00
Jacques Garrigue
875aab099e
revert wrong commit of experiments
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12260 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-23 07:17:42 +00:00
Jacques Garrigue
b3e0f2e72a
Fix PR#5553: do not allow a type variable to have the same name as a local type
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12257 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-23 02:20:24 +00:00
Alain Frisch
c6e37f1573
#5551 : avoid repeated lookups for missing cmi files.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12251 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-21 11:35:51 +00:00
Jacques Garrigue
34578cf242
shorten paths in .annot
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@12234 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-14 01:19:46 +00:00
Damien Doligez
6c24f4f90b
merge version 3.12 from 3.12.1 to r12205
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12210 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-08 19:52:03 +00:00
Alain Frisch
5f632b7b12
#5527 : absolute filenames for more error messages.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12200 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-07 17:37:05 +00:00
Alain Frisch
ab918e2078
Detect unused exception declarations ( #5524 ).
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-06 19:47:07 +00:00
Alain Frisch
f0b95f3349
Keep locations for exception declaration. This gives better error messages and paves the way to #5524 .
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12193 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-03-06 19:03:17 +00:00
Damien Doligez
5b14388ad0
refactoring the "read n bytes from a channel into a new string" idiom
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12184 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-23 19:54:44 +00:00
Jacques Garrigue
0f85a64020
Unshare on type annotations even in non -principal mode.
...
Slightly slower (1% for lablgtk.cma) but better compatibility
with -principal and gadts.
By the way full -principal is a 25% slowdown for lablgtk.cma.
As a side effect of unsharing in patterns, (x : t) is now
internally converted to (_ as x : t).
This should have no impact on pattern matching compilation,
but watch out for other problems.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12153 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-14 10:00:18 +00:00
Jacques Garrigue
eced476cce
Fix PR#5498
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12111 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-02-03 05:58:57 +00:00
Jacques Garrigue
f186ac5cb8
disable shortening for errors in Typetexp
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@12076 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-24 05:33:50 +00:00
Jacques Garrigue
91172c1d7b
disable shortening if Env.empty
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@12075 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-24 01:33:47 +00:00
Jacques Garrigue
477b2dd743
propagate path-expansion environment everywhere
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@12068 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-23 07:59:45 +00:00
Jacques Garrigue
cca2f50948
simpler approach for signatures
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@12067 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-22 06:42:56 +00:00
Jacques Garrigue
21301af8c8
shorten paths in signatures and toplevel output
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@12066 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-22 05:56:11 +00:00
Jacques Garrigue
50de05d31d
first attempt: handles only unification errors
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/short-paths@12065 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-22 03:15:14 +00:00
Jacques Garrigue
5dd1a02514
cleaner fix of PR#5490
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12063 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-21 03:40:37 +00:00
Alain Frisch
f5da2ab926
Renaming.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12060 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-20 14:26:15 +00:00
Alain Frisch
094261c688
Fix #5490 .
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12059 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-20 14:24:54 +00:00
Alain Frisch
4cfd2fc2a6
Reverting bad commit.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12058 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-20 14:23:34 +00:00
Alain Frisch
7fe8c8ce6f
Fix #5490 .
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12057 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-20 14:21:03 +00:00
Alain Frisch
1f36047e55
Direct implementation of the approximation of free identifiers + get rid of Unused_var module.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12050 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-18 17:41:12 +00:00
Alain Frisch
c45bcb892d
Synchronize with trunk.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@12034 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-18 08:31:11 +00:00
Alain Frisch
cdbb84ec68
New warning for unused constructors.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@12018 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-12 11:24:30 +00:00
Alain Frisch
59abb3cd3e
#5438 : fix bug reported by Boris Yakobowski; the local type name corresponding to a Path.t was not correctly computed.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@12016 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-12 09:16:26 +00:00
Damien Doligez
b4ccb873a6
PR#5380: copy fix from 3.12 branch
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12014 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-11 15:22:51 +00:00
Jacques Garrigue
db50558e33
fix PR#5469
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@12005 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-10 03:01:50 +00:00
Alain Frisch
4979a58d94
Avoid problem with the use of Typeclass.unbound_class.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@11998 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-06 14:17:56 +00:00
Alain Frisch
c0e3b9cb42
Better choice of warnings.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@11997 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2012-01-06 14:16:58 +00:00
Alain Frisch
83d48700ff
Replace existing warnings 26, 27, trying to preserve their semantics.
...
- Warning 26 detects unused variables bound by 'let' or 'as'. In case of a or-pattern,
a variable is considered to be an "as" variable or not according to the lhs pattern only.
- Warning 27 detects unused variables bound by 'match', 'fun', 'function', and self-variable
in objects.
- When several values are bound by a given let pattern: if all of them are unused,
warning 26 is trigerred; if at least one of them is used, the other unused ones
are reported with warning 27.
This commit also introduces dedicated warnings for unused ancestor variables (objects) and
for-loop indices.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@11976 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-29 17:49:58 +00:00
Alain Frisch
350f214671
More clever algorithm to detect unused (recursive) type declarations.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@11969 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-28 14:20:53 +00:00
Alain Frisch
33eefe4874
Remove unused constructors in the AST: Cf_let, Pcf_let.
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11968 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-28 13:27:07 +00:00
Jacques Garrigue
3a5aff77d0
fix PR#5449
...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11964 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-28 02:22:38 +00:00