Commit Graph

58 Commits (3eee9d124bd1a0a9a6dc8d417a043788a0db732e)

Author SHA1 Message Date
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 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 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 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 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
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
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 ea15141d8a * make -principal stricter for gadts
* may also change behaviour without -principal
* propagate type constraints in let expressions to patterns


git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@11011 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
2011-04-19 02:13:52 +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 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 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 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 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 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
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
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
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
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
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 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
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 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
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
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
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
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 08cc364187 Pas besoin de Env.level et Subst.limit_level finalement...
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1454 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
1997-03-24 20:12:33 +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
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 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