summaryrefslogtreecommitdiffstats
path: root/utils/warnings.ml
diff options
context:
space:
mode:
Diffstat (limited to 'utils/warnings.ml')
-rw-r--r--utils/warnings.ml12
1 files changed, 10 insertions, 2 deletions
diff --git a/utils/warnings.ml b/utils/warnings.ml
index df4cdc94b..caef1fcda 100644
--- a/utils/warnings.ml
+++ b/utils/warnings.ml
@@ -62,6 +62,7 @@ type t =
| Disambiguated_name of string (* 42 *)
| Nonoptional_label of string (* 43 *)
| Open_shadow_identifier of string * string (* 44 *)
+ | Open_shadow_label_constructor of string * string (* 45 *)
;;
(* If you remove a warning, leave a hole in the numbering. NEVER change
@@ -115,9 +116,11 @@ let number = function
| Disambiguated_name _ -> 42
| Nonoptional_label _ -> 43
| Open_shadow_identifier _ -> 44
+ | Open_shadow_label_constructor _ -> 45
+
;;
-let last_warning_number = 44
+let last_warning_number = 45
(* Must be the max number returned by the [number] function. *)
let letter = function
@@ -212,7 +215,7 @@ let parse_opt flags s =
let parse_options errflag s = parse_opt (if errflag then error else active) s;;
(* If you change these, don't forget to change them in man/ocamlc.m *)
-let defaults_w = "+a-4-6-7-9-27-29-32..39-41..42-44";;
+let defaults_w = "+a-4-6-7-9-27-29-32..39-41..42-44-45";;
let defaults_warn_error = "-a";;
let () = parse_options false defaults_w;;
@@ -338,6 +341,10 @@ let message = function
Printf.sprintf
"this open statement shadows the %s identifier %s (which is later used)"
kind s
+ | Open_shadow_label_constructor (kind, s) ->
+ Printf.sprintf
+ "this open statement shadows the %s %s (which is later used)"
+ kind s
;;
let nerrors = ref 0;;
@@ -428,6 +435,7 @@ let descriptions =
42, "Disambiguated constructor or label name.";
43, "Nonoptional label applied as optional.";
44, "Open statement shadows an already defined identifier.";
+ 45, "Open statement shadows an already defined label or constructor.";
]
;;