Commit Graph

235 Commits (502e4f9336c03e21442404fd1beba79df824d32d)

Author SHA1 Message Date
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 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 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
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
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 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
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
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 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
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 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
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
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 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 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
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
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
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
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
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
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 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 d3e3438903 Reduce overhead for warning on unused opens when the warning is disabled.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@11961 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-27 09:17:49 +00:00
Alain Frisch e84536543a The implicit type created by class and class types definitions is marked as used when the class or class type are referenced.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@11941 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-22 16:04:25 +00:00
Alain Frisch 85a99d7bd4 Detected unused type declarations. A type declaration can be used (1) through an explicit reference, (2) during signature comparison, or (3) because one of the labels or fields it defines are referenced.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@11940 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-22 15:42:40 +00:00
Alain Frisch 86d04b3c90 Detect unused open (#5357, #5438).
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@11937 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-22 11:04:20 +00:00
Alain Frisch debacec776 Typo.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@11926 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-21 16:28:04 +00:00
Alain Frisch f8a7879fb0 New warning 31 to detect a lot more unused value declarations.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/unused_declarations@11924 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-21 15:40:54 +00:00
Alain Frisch c1f154ea70 New option to force the compilers to show absolute paths in error messages.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11890 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-12-20 10:35:43 +00:00
Damien Doligez 456473d87f better reporting of wrong version for .cmi files
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11291 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-11-29 15:54:41 +00:00
Jacques Garrigue 6c78f42d36 merge branches/gadts-devel
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11284 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-11-24 09:02:48 +00:00
Jacques Garrigue 9dc661c3bf merge branches/gadts
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11160 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-29 10:32:43 +00:00
Damien Doligez 3b507dd1aa renaming of Objective Caml to OCaml and cleanup of copyright headers
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11156 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-27 14:17:02 +00:00
Damien Doligez c91db736b1 merge changes from 3.12.0 to 3.12.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@11123 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-07-20 09:17:07 +00:00
Jacques Garrigue f70dbeb1b8 fix problem with constraints outside of matching, see typing-gadts/test.ml
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@11068 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-06-05 15:00:04 +00:00
Jacques Garrigue 04968cc2e6 fix principality by expanding local definitions when exporting a value
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10979 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-03-10 06:27:24 +00:00
Jacques Le Normand 89f3b70c5e newtypes now have an explicit level
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10884 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-12-03 19:52:36 +00:00
Jacques Le Normand 9a97dd50c9 small cleanup
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10816 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-18 06:23:00 +00:00
Jacques Le Normand 3ec9bc692b complete_constrs in parmatch.ml now works with gadts. Reverted changes to the syntax tree which are no longer needed.
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10805 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-16 06:01:59 +00:00
Jacques Garrigue b0f376cd1f remove the GAHs
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10785 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-10 10:38:18 +00:00
Jacques Le Normand 1680403fb9 clean up
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10784 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-10 06:01:27 +00:00
Jacques Le Normand ff78b8ee75 exhaustiveness check has been _completely_ rewritten
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10764 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-08 07:34:09 +00:00
Jacques Garrigue f368f4e0d5 allow variance in GADTs
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10763 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-08 06:59:46 +00:00
Jacques Le Normand 5244860f3f local_constraint flag now works
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10756 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-01 07:10:37 +00:00
Jacques Le Normand 6fd8a9a590 using old unification when there are no local constraints
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10755 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-01 05:33:29 +00:00
Jacques Le Normand 6f151a0f95 environment local constraint marker
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10754 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-11-01 05:09:36 +00:00
Jacques Le Normand 10f670297c added lookup of constructors by type in env.ml and specification of constructors types in Ppat_construct
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10736 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-21 07:53:39 +00:00
Jacques Le Normand 304dba8a0f removed Type_variant, fixed bug in GADT exhaustive check
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10734 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-21 04:02:02 +00:00
Jacques Le Normand a1910000e3 fixed bug in syntax extension. Made unification of variants and objects local. Removed personal comments
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10724 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-10-19 05:24:36 +00:00
Jacques Le Normand 56624533fb switched to abstract types, still needs work on exhaustion type. the code needs to be cleaned up. printfs need to be removed
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10682 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-19 04:55:40 +00:00
Jacques Le Normand 6de25fef2f first commit
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10679 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-09-13 05:28:30 +00:00
Jacques Garrigue a51b04dec7 remove spurious code
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10328 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-30 01:56:21 +00:00
Jacques Garrigue 49a83dd965 merge branches/sigsubst 9626:10205
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10263 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-04-17 14:45:12 +00:00
Damien Doligez 04b1656222 clean up spaces and tabs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9547 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2010-01-22 12:48:24 +00:00
Damien Doligez ed32f569e3 merge changes from ocaml3110 to ocaml3111rc0
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9270 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2009-05-20 11:52:42 +00:00
Damien Doligez 0c26c850b3 "invalid module name" becomes a warning
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9074 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-10-06 13:53:54 +00:00
Damien Doligez adfab743f5 PR#4607 reject invalid source file names
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@9016 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-09-10 15:03:33 +00:00
Damien Doligez 7ca1d89250 amelioration des annotations
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8958 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2008-07-29 15:42:44 +00:00
Jacques Garrigue e1bf691bf1 PR#4453
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8526 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-19 13:15:51 +00:00
Pierre Weis 2a99b8737b Expanding the usual compiler's type-based optimisations to private abbreviations.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8474 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-11-01 18:36:43 +00:00
Jacques Garrigue 8c5ed4dd1f corrige rangees privees apres introduction abbreviations privees par PW
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8435 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-10-18 03:38:28 +00:00
Pierre Weis 59e0723455 It works: compilers and camlp4 are fully bootstrapped. The ast magic number is not yet changed.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8418 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-10-09 10:29:37 +00:00
Damien Doligez 1dd68ccf50 ajout des annotations pour variables et appels terminaux
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8232 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2007-05-16 08:21:41 +00:00
Xavier Leroy f976176626 PR#4132: faster type-checking of module-intensive programs
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7689 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-10-13 12:56:28 +00:00
Jacques Garrigue 6f6b1849c5 -rectypes obligatoire pour les dependences
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7444 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2006-06-26 09:38:06 +00:00
Damien Doligez a4a3c10e70 fusion des modifs de 3.08.4
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@7019 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-08-13 20:59:37 +00:00
Xavier Leroy f55d676d2c Interdire les references Foo.x lorsqu'on compile foo.ml ou foo.mli (PR#3100, 3304, 3457)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6998 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2005-07-31 12:03:40 +00:00
Xavier Leroy 762a006652 Impression des 'rec' et des 'and' dans les signatures inferees (PR#1981,2585)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@6386 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2004-06-12 08:55:49 +00:00
Jacques Garrigue f2095623ff fast and compact classes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5977 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-11-25 09:20:45 +00:00
Xavier Leroy 3e4bf9252b Revu representation des declarations de type private
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5643 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-07-02 09:14:35 +00:00
Pierre Weis e77055aad9 Complete move from virtual to private for concrete types with private
constructors (or labels).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5524 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-05-01 22:22:37 +00:00
Pierre Weis b5d0102c05 Nouveau format %$. Introduction des types virtuels: step 1 sans inclusion dans Camlp4
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5409 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2003-02-28 06:59:19 +00:00
Xavier Leroy 5e152f7945 - Revu en profondeur la verification des CRC d'interfaces.
Cela corrige le PR#1064.
- Les CRC des modules constituant un programme sont stockes dans
  l'executable bytecode, section CRCS.  Revu Dynlink pour utiliser ces
  CRC au lieu d'attendre de l'utilisateur qu'il les fournisse.
  MAJ du debugger en consequence.
- Introduction et utilisation du fichier stdlib/StdlibModules.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5272 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-11-17 16:42:12 +00:00
Xavier Leroy 161bca8da3 Revu generation du .cmi avec ocamlc -pack: supprimer les dependances sur les modules empaquetes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@5102 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-08-19 12:23:23 +00:00
Xavier Leroy 363427a872 Suppression de la memoization des chemins de la forme F(M), qui est semantiquement incorrecte si F est un parametre de foncteur (PR#1180)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4889 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-06-06 08:02:43 +00:00
Jacques Garrigue 98ca2c1b3e make it clearer
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4689 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-04-18 03:44:44 +00:00
Jacques Garrigue c5a2036429 normalize for multiple files and trim cmi size
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4595 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-04-04 22:19:02 +00:00
Jacques Garrigue cc80242179 normalize signatures before saving
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4586 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2002-04-04 03:49:58 +00:00
Jacques Garrigue 23306c8c51 correction du PR#547: un Not_found produit par find_type s'echappe
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3810 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-09-28 22:55:27 +00:00
Jacques Garrigue f4cd8940d3 fix PR#493
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3805 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-09-28 00:34:47 +00:00
Xavier Leroy d625f74ef7 Calculer les composantes de modules de maniere paresseuse, car sinon la correction du PR#460 ralentit le typage de maniere perceptible
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3627 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-08-09 08:20:32 +00:00
Xavier Leroy c8235d0e51 Correction PR#460
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3607 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2001-07-31 16:42:00 +00:00
Xavier Leroy 10ceb26643 Amelioration du message d'erreur 'inconsistent assumptions'
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3050 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-04-10 14:59:00 +00:00
Xavier Leroy 2300f8148c Ajout de crc_of_unit
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2992 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-26 15:49:08 +00:00
Xavier Leroy 7dfe9784b7 Revu la gestion des records de flottants
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2978 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-21 14:43:25 +00:00
Xavier Leroy c96be2df9c Effacer le .cmi si exception pendant son ecriture
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2963 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-16 15:09:39 +00:00
Xavier Leroy ff3a4e5100 Correction d'un bug dans les foncteurs applicatifs (chemins de la forme X.F(A).t) (PR#51)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2931 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-09 16:06:20 +00:00
Pierre Weis b96208b7a2 Revu les impressions du compilateur
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2908 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-03-06 22:12:09 +00:00
Xavier Leroy 9f30fff453 Correction bug dans la determination des representations de records (e.g. {lbl=t} avec type t = float)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2788 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2000-02-05 12:11:34 +00:00
Jacques Garrigue 296fc05470 Merge olabl branch
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2651 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-30 16:07:38 +00:00
Xavier Leroy cc0f32b054 Changement de la licence
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2553 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-17 18:59:06 +00:00
Pierre Weis 8fdbd93857 Réécriture des messages d'erreur en printf.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2519 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-12 16:28:39 +00:00
Xavier Leroy a048d42b10 Ajout du module Formatmsg pour rediriger les messages du systeme vers stdout ou stderr suivant le contexte
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2486 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1999-11-08 17:06:33 +00:00
Xavier Leroy 4de5d32abf Dans save_signature, calculer les composantes avant de creer le fichier .cmi, pour etre sur de ne pas essayer de lire le .cmi pendant le calcul des composantes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2108 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-10-01 12:35:34 +00:00
Jérôme Vouillon 87b17301f4 Nouvelle syntaxe des classes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1997 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1998-06-24 19:22:26 +00:00
Damien Doligez 03ec746bf1 deTABisation
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1563 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-05-19 15:42:21 +00:00
Xavier Leroy d396209609 Env: dans un .cmi, sauver non seulement le CRC du .cmi mais aussi ceux
des interfaces utilisees pour compiler ce .cmi.
Retour en arriere sur le flag "ps_used" introduit par Jerome, car la
modif sur les CRCs coule definitivement les applets de MMM.
Predef: ajout de l'exception Stack_overflow.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1561 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-05-15 13:30:02 +00:00
Jérôme Vouillon c63c0dd769 Meilleur approximation des modules utilises.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1487 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-04-01 20:53:02 +00:00
Jérôme Vouillon 3f481b75c0 Pas besoin de Env.level et Subst.limit_level finalement...
Ajout de btype.ml{,i} (operations de bases sur les types)


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1453 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-24 20:12:16 +00:00
Jérôme Vouillon 29f5e183fa Fonction Env.level : retourne le niveau maximal des constructeurs de
types contenu dans l'environnement.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1390 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-13 21:16:44 +00:00
Jérôme Vouillon 6c452fe5f5 Modification de la maniere dont l'expansion des abbreviations est
memorisee.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1245 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-01-21 17:43:53 +00:00
Xavier Leroy 3b92524aa9 Ajout du support pour le debugger
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1211 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-11-29 18:36:42 +00:00
Xavier Leroy bfa250606e Misc.lowercase -> String.uncapitalize
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1130 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-10-31 16:03:27 +00:00
Xavier Leroy 033ec5b736 Decoupage du module Typedtree en deux: Types et Typedtree.
Sauver l'environnement de typage en plus du type dans les a.s.t. de Typedtree.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1008 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-09-23 11:33:27 +00:00
Xavier Leroy df42185ca0 Typage plus strict de "SIG with ..."
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@943 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-07-25 13:18:53 +00:00
Xavier Leroy 2301d778e7 Renommage en Objective Caml
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@782 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-30 14:53:58 +00:00
Jérôme Vouillon 7974a9d8b1 Extension objets.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@756 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-04-22 11:15:41 +00:00
Xavier Leroy a76589a552 Meilleur message d'erreur pour Illegal_renaming.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@649 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1996-02-20 11:01:45 +00:00
Xavier Leroy 083af27a36 Env.find_ font raise Not_found au lieu d'une erreur si le path n'est
pas trouve (p.ex. parce que un .cmi n'est pas disponible).


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@394 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-11-03 13:23:03 +00:00
Xavier Leroy e772ecf7cb Les definitions de primitives ne generent plus de code.
En consequence, un champ valeur primitive d'une structure n'occupe
plus de place dans le tuple la representant.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@351 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-23 16:59:41 +00:00
Xavier Leroy febeecacd0 Meilleur message d'erreur dans Env quand .cmi pas trouve.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@327 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-09 17:39:41 +00:00
Xavier Leroy eda2f6449b Nouveau format de .cmo (utilisation de MD5, detection unsafe)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@326 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-10-09 13:37:11 +00:00
Xavier Leroy b52bf653d5 Correction de Env.components_of_module pour le cas ou on reference un
modtype manifeste defini precedemment dans la meme structure.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@285 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-09-23 09:08:18 +00:00
Xavier Leroy a6a66821bd Rectification de add_signature pour qu'elle respecte l'ordre
gauche-droite des composantes.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@278 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-09-19 13:33:39 +00:00
Xavier Leroy 90fc1c2cf4 Foncteurs applicatifs.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@205 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-23 11:55:54 +00:00
Xavier Leroy e4066357b1 Ajout des notices de copyright
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@195 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-08-09 15:06:35 +00:00
Xavier Leroy d1e2b83c19 Changement representation des primitives.
Introduction de datarepr.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@146 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-25 11:40:07 +00:00
Xavier Leroy 0c9e80f2c8 Nouvelle technique de construction du CRC pour les .cmi.
List.combine maintenant decurryfiee.
Introduction de Ident.unique_name.


git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@59 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-07-02 16:50:08 +00:00
Xavier Leroy 9f46afb0f4 Changement de la representation des constructeurs constants.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@45 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-06-18 14:47:12 +00:00
Xavier Leroy 61bd8ace6b Passage a la version bootstrappee (franchissement du Rubicon)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1995-05-04 10:15:53 +00:00