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