merge last changes from 3.11 branch (rev 10307)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@10309 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02master
parent
6a28a57f52
commit
bfdf476b69
BIN
boot/ocamlc
BIN
boot/ocamlc
Binary file not shown.
BIN
boot/ocamldep
BIN
boot/ocamldep
Binary file not shown.
102
stdlib/.depend
102
stdlib/.depend
|
@ -144,3 +144,105 @@ sys.cmo: sys.cmi
|
|||
sys.cmx: sys.cmi
|
||||
weak.cmo: sys.cmi obj.cmi hashtbl.cmi array.cmi weak.cmi
|
||||
weak.cmx: sys.cmx obj.cmx hashtbl.cmx array.cmx weak.cmi
|
||||
arg.cmo: sys.cmi string.cmi printf.cmi list.cmi buffer.cmi array.cmi arg.cmi
|
||||
arg.p.cmx: sys.p.cmx string.p.cmx printf.p.cmx list.p.cmx buffer.p.cmx array.p.cmx arg.cmi
|
||||
array.cmo: array.cmi
|
||||
array.p.cmx: array.cmi
|
||||
arrayLabels.cmo: array.cmi arrayLabels.cmi
|
||||
arrayLabels.p.cmx: array.p.cmx arrayLabels.cmi
|
||||
buffer.cmo: sys.cmi string.cmi buffer.cmi
|
||||
buffer.p.cmx: sys.p.cmx string.p.cmx buffer.cmi
|
||||
callback.cmo: obj.cmi callback.cmi
|
||||
callback.p.cmx: obj.p.cmx callback.cmi
|
||||
camlinternalLazy.cmo: obj.cmi camlinternalLazy.cmi
|
||||
camlinternalLazy.p.cmx: obj.p.cmx camlinternalLazy.cmi
|
||||
camlinternalMod.cmo: obj.cmi camlinternalOO.cmi array.cmi camlinternalMod.cmi
|
||||
camlinternalMod.p.cmx: obj.p.cmx camlinternalOO.p.cmx array.p.cmx camlinternalMod.cmi
|
||||
camlinternalOO.cmo: sys.cmi string.cmi obj.cmi map.cmi list.cmi char.cmi \
|
||||
array.cmi camlinternalOO.cmi
|
||||
camlinternalOO.p.cmx: sys.p.cmx string.p.cmx obj.p.cmx map.p.cmx list.p.cmx char.p.cmx \
|
||||
array.p.cmx camlinternalOO.cmi
|
||||
char.cmo: char.cmi
|
||||
char.p.cmx: char.cmi
|
||||
complex.cmo: complex.cmi
|
||||
complex.p.cmx: complex.cmi
|
||||
digest.cmo: string.cmi printf.cmi digest.cmi
|
||||
digest.p.cmx: string.p.cmx printf.p.cmx digest.cmi
|
||||
filename.cmo: sys.cmi string.cmi random.cmi printf.cmi buffer.cmi \
|
||||
filename.cmi
|
||||
filename.p.cmx: sys.p.cmx string.p.cmx random.p.cmx printf.p.cmx buffer.p.cmx \
|
||||
filename.cmi
|
||||
format.cmo: string.cmi printf.cmi pervasives.cmi obj.cmi list.cmi buffer.cmi \
|
||||
format.cmi
|
||||
format.p.cmx: string.p.cmx printf.p.cmx pervasives.p.cmx obj.p.cmx list.p.cmx buffer.p.cmx \
|
||||
format.cmi
|
||||
gc.cmo: sys.cmi printf.cmi gc.cmi
|
||||
gc.p.cmx: sys.p.cmx printf.p.cmx gc.cmi
|
||||
genlex.cmo: string.cmi stream.cmi list.cmi hashtbl.cmi char.cmi genlex.cmi
|
||||
genlex.p.cmx: string.p.cmx stream.p.cmx list.p.cmx hashtbl.p.cmx char.p.cmx genlex.cmi
|
||||
hashtbl.cmo: sys.cmi array.cmi hashtbl.cmi
|
||||
hashtbl.p.cmx: sys.p.cmx array.p.cmx hashtbl.cmi
|
||||
int32.cmo: pervasives.cmi int32.cmi
|
||||
int32.p.cmx: pervasives.p.cmx int32.cmi
|
||||
int64.cmo: pervasives.cmi int64.cmi
|
||||
int64.p.cmx: pervasives.p.cmx int64.cmi
|
||||
lazy.cmo: obj.cmi camlinternalLazy.cmi lazy.cmi
|
||||
lazy.p.cmx: obj.p.cmx camlinternalLazy.p.cmx lazy.cmi
|
||||
lexing.cmo: sys.cmi string.cmi array.cmi lexing.cmi
|
||||
lexing.p.cmx: sys.p.cmx string.p.cmx array.p.cmx lexing.cmi
|
||||
list.cmo: list.cmi
|
||||
list.p.cmx: list.cmi
|
||||
listLabels.cmo: list.cmi listLabels.cmi
|
||||
listLabels.p.cmx: list.p.cmx listLabels.cmi
|
||||
map.cmo: map.cmi
|
||||
map.p.cmx: map.cmi
|
||||
marshal.cmo: string.cmi marshal.cmi
|
||||
marshal.p.cmx: string.p.cmx marshal.cmi
|
||||
moreLabels.cmo: set.cmi map.cmi hashtbl.cmi moreLabels.cmi
|
||||
moreLabels.p.cmx: set.p.cmx map.p.cmx hashtbl.p.cmx moreLabels.cmi
|
||||
nativeint.cmo: sys.cmi pervasives.cmi nativeint.cmi
|
||||
nativeint.p.cmx: sys.p.cmx pervasives.p.cmx nativeint.cmi
|
||||
obj.cmo: marshal.cmi int32.cmi array.cmi obj.cmi
|
||||
obj.p.cmx: marshal.p.cmx int32.p.cmx array.p.cmx obj.cmi
|
||||
oo.cmo: camlinternalOO.cmi oo.cmi
|
||||
oo.p.cmx: camlinternalOO.p.cmx oo.cmi
|
||||
parsing.cmo: obj.cmi lexing.cmi array.cmi parsing.cmi
|
||||
parsing.p.cmx: obj.p.cmx lexing.p.cmx array.p.cmx parsing.cmi
|
||||
pervasives.cmo: pervasives.cmi
|
||||
pervasives.p.cmx: pervasives.cmi
|
||||
printexc.cmo: printf.cmi obj.cmi buffer.cmi array.cmi printexc.cmi
|
||||
printexc.p.cmx: printf.p.cmx obj.p.cmx buffer.p.cmx array.p.cmx printexc.cmi
|
||||
printf.cmo: string.cmi pervasives.cmi obj.cmi list.cmi char.cmi buffer.cmi \
|
||||
array.cmi printf.cmi
|
||||
printf.p.cmx: string.p.cmx pervasives.p.cmx obj.p.cmx list.p.cmx char.p.cmx buffer.p.cmx \
|
||||
array.p.cmx printf.cmi
|
||||
queue.cmo: obj.cmi queue.cmi
|
||||
queue.p.cmx: obj.p.cmx queue.cmi
|
||||
random.cmo: string.cmi pervasives.cmi nativeint.cmi int64.cmi int32.cmi \
|
||||
digest.cmi char.cmi array.cmi random.cmi
|
||||
random.p.cmx: string.p.cmx pervasives.p.cmx nativeint.p.cmx int64.p.cmx int32.p.cmx \
|
||||
digest.p.cmx char.p.cmx array.p.cmx random.cmi
|
||||
scanf.cmo: string.cmi printf.cmi pervasives.cmi obj.cmi list.cmi hashtbl.cmi \
|
||||
buffer.cmi array.cmi scanf.cmi
|
||||
scanf.p.cmx: string.p.cmx printf.p.cmx pervasives.p.cmx obj.p.cmx list.p.cmx hashtbl.p.cmx \
|
||||
buffer.p.cmx array.p.cmx scanf.cmi
|
||||
set.cmo: set.cmi
|
||||
set.p.cmx: set.cmi
|
||||
sort.cmo: array.cmi sort.cmi
|
||||
sort.p.cmx: array.p.cmx sort.cmi
|
||||
stack.cmo: list.cmi stack.cmi
|
||||
stack.p.cmx: list.p.cmx stack.cmi
|
||||
stdLabels.cmo: stringLabels.cmi listLabels.cmi arrayLabels.cmi stdLabels.cmi
|
||||
stdLabels.p.cmx: stringLabels.p.cmx listLabels.p.cmx arrayLabels.p.cmx stdLabels.cmi
|
||||
std_exit.cmo:
|
||||
std_exit.p.cmx:
|
||||
stream.cmo: string.cmi obj.cmi list.cmi lazy.cmi stream.cmi
|
||||
stream.p.cmx: string.p.cmx obj.p.cmx list.p.cmx lazy.p.cmx stream.cmi
|
||||
string.cmo: pervasives.cmi list.cmi char.cmi string.cmi
|
||||
string.p.cmx: pervasives.p.cmx list.p.cmx char.p.cmx string.cmi
|
||||
stringLabels.cmo: string.cmi stringLabels.cmi
|
||||
stringLabels.p.cmx: string.p.cmx stringLabels.cmi
|
||||
sys.cmo: sys.cmi
|
||||
sys.p.cmx: sys.cmi
|
||||
weak.cmo: sys.cmi obj.cmi hashtbl.cmi array.cmi weak.cmi
|
||||
weak.p.cmx: sys.p.cmx obj.p.cmx hashtbl.p.cmx array.p.cmx weak.cmi
|
||||
|
|
|
@ -94,3 +94,4 @@ include .depend
|
|||
|
||||
depend:
|
||||
$(CAMLDEP) *.mli *.ml > .depend
|
||||
$(CAMLDEP) *.ml | sed -e 's/\.cmx/.p.cmx/g' >>.depend
|
||||
|
|
|
@ -539,11 +539,8 @@ let rec tree_of_type_decl id decl =
|
|||
let abstr =
|
||||
match decl.type_kind with
|
||||
Type_abstract ->
|
||||
begin match decl.type_manifest with
|
||||
None -> true
|
||||
| Some ty -> has_constr_row ty
|
||||
end
|
||||
| Type_variant _ | Type_record(_,_) ->
|
||||
decl.type_manifest = None || decl.type_private = Private
|
||||
| Type_variant _ | Type_record _ ->
|
||||
decl.type_private = Private
|
||||
in
|
||||
let vari =
|
||||
|
|
|
@ -49,7 +49,7 @@ type error =
|
|||
| Private_type of type_expr
|
||||
| Private_label of Longident.t * type_expr
|
||||
| Unbound_instance_variable of string
|
||||
| Instance_variable_not_mutable of string
|
||||
| Instance_variable_not_mutable of bool * string
|
||||
| Not_subtype of (type_expr * type_expr) list * (type_expr * type_expr) list
|
||||
| Outside_class
|
||||
| Value_multiply_overridden of string
|
||||
|
@ -1549,9 +1549,9 @@ let rec type_exp env sexp =
|
|||
exp_type = instance Predef.type_unit;
|
||||
exp_env = env }
|
||||
| Val_ivar _ ->
|
||||
raise(Error(loc, Instance_variable_not_mutable lab))
|
||||
raise(Error(loc,Instance_variable_not_mutable(true,lab)))
|
||||
| _ ->
|
||||
raise(Error(loc, Unbound_instance_variable lab))
|
||||
raise(Error(loc,Instance_variable_not_mutable(false,lab)))
|
||||
with
|
||||
Not_found ->
|
||||
raise(Error(loc, Unbound_instance_variable lab))
|
||||
|
@ -2393,8 +2393,11 @@ let report_error ppf = function
|
|||
longident cl
|
||||
| Unbound_instance_variable v ->
|
||||
fprintf ppf "Unbound instance variable %s" v
|
||||
| Instance_variable_not_mutable v ->
|
||||
fprintf ppf "The instance variable %s is not mutable" v
|
||||
| Instance_variable_not_mutable (b, v) ->
|
||||
if b then
|
||||
fprintf ppf "The instance variable %s is not mutable" v
|
||||
else
|
||||
fprintf ppf "The value %s is not an instance variable" v
|
||||
| Not_subtype(tr1, tr2) ->
|
||||
report_subtyping_error ppf tr1 "is not a subtype of" tr2
|
||||
| Outside_class ->
|
||||
|
|
|
@ -89,7 +89,7 @@ type error =
|
|||
| Private_type of type_expr
|
||||
| Private_label of Longident.t * type_expr
|
||||
| Unbound_instance_variable of string
|
||||
| Instance_variable_not_mutable of string
|
||||
| Instance_variable_not_mutable of bool * string
|
||||
| Not_subtype of (type_expr * type_expr) list * (type_expr * type_expr) list
|
||||
| Outside_class
|
||||
| Value_multiply_overridden of string
|
||||
|
|
Loading…
Reference in New Issue