Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions src/analysis/misc_utils.ml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ let parse_identifier (config, source) pos =
let is_current_unit comp_unit =
match Env.get_unit_name () with
| Some current_unit ->
String.equal (current_unit |> Unit_info.modname |>
Compilation_unit.name_as_string) comp_unit
String.equal
(current_unit |> Unit_info.modname |> Compilation_unit.name_as_string)
comp_unit
| None -> false
3 changes: 1 addition & 2 deletions src/analysis/ptyp_of_type.ml
Original file line number Diff line number Diff line change
Expand Up @@ -186,8 +186,7 @@ and label_declaration
(match ld_mutable with
| Mutable _ -> Mutable
| Immutable -> Immutable)
~modalities:
(Typemode.untransl_modalities ld_mutable ld_modalities)
~modalities:(Typemode.untransl_modalities ld_mutable ld_modalities)
(var_of_id ld_id) (core_type ld_type)

and constructor_arguments = function
Expand Down
15 changes: 12 additions & 3 deletions src/kernel/mconfig.ml
Original file line number Diff line number Diff line change
Expand Up @@ -443,6 +443,7 @@ let ocaml_ignored_flags =
"-dflambda-verbose";
"-dinstr";
"-dlambda";
"-dblambda";
"-dlinear";
"-dparsetree";
"-dshape";
Expand Down Expand Up @@ -610,7 +611,10 @@ let ocaml_ignored_flags =
"-dsimplify";
"-dreaper";
"-instantiate";
"-dflambda-heavy-invariants"
"-dflambda-heavy-invariants";
"-cfg-eliminate-dead-trap-handlers";
"-no-cfg-eliminate-dead-trap-handlers";
"-module-entry-functions-section"
]

let ocaml_ignored_parametrized_flags =
Expand Down Expand Up @@ -647,7 +651,8 @@ let ocaml_ignored_parametrized_flags =
"-use-runtime";
"-error-style";
"-dump-dir";
"-libloc";
"-I-paths";
"-H-paths";
(* flambda-backend specific *)
"-extension";
"-extension-universe";
Expand All @@ -671,7 +676,10 @@ let ocaml_ignored_parametrized_flags =
"-flambda2-inline-prim-cost";
"-flambda2-inline-small-function-size";
"-flambda2-inline-threshold";
"-flambda2-join-algorithm";
"-flambda2-expert-cont-specialization-budget";
"-regalloc";
"-regalloc-linscan-threshold";
"-regalloc-param";
"-cached-generic-functions-path";
"-gdwarf-max-function-complexity";
Expand All @@ -681,7 +689,8 @@ let ocaml_ignored_parametrized_flags =
"-zero-alloc-checker-join";
"-dgranularity";
"-flambda2-expert-cont-lifting-budget";
"-vectorize-max-block-size"
"-vectorize-max-block-size";
"-save-ir-before"
]

let ocaml_warnings_spec ~error =
Expand Down
6 changes: 3 additions & 3 deletions src/kernel/mocaml.ml
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ let setup_reader_config config =
let open Clflags in
let ocaml = config.ocaml in
let to_unit_info name =
Some (name |>
Compilation_unit.of_string |>
Unit_info.make_dummy ~input_name:name)
Some
(name |> Compilation_unit.of_string
|> Unit_info.make_dummy ~input_name:name)
in
Env.set_unit_name (Mconfig.unitname config |> to_unit_info);
Location.input_name := config.query.filename;
Expand Down
2 changes: 1 addition & 1 deletion src/ocaml/preprocess/parser_raw.mly
Original file line number Diff line number Diff line change
Expand Up @@ -1002,7 +1002,7 @@ let merloc startpos ?endpos x =
let default_pattern () = Pat.any ~loc:!default_loc ()

let default_pattern_and_mode () =
Pat.any ~loc:!default_loc (), None, []
Pat.any ~loc:!default_loc ()

let default_module_expr () = Mod.structure ~loc:!default_loc []
let default_module_type () =
Expand Down
10,789 changes: 5,448 additions & 5,341 deletions src/ocaml/preprocess/parser_recover.ml

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions src/ocaml/typing/magic_numbers.ml
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ module Cmi = struct
| "Caml1999I558" -> Some "5.2.0minus-8"
| "Caml1999I559" -> Some "5.2.0minus-9"
| "Caml1999I560" -> Some "5.2.0minus-10"
| "Caml1999I561" -> Some "5.2.0minus-11"
| _ -> None

let () = assert (to_version_opt Config.cmi_magic_number <> None)
Expand Down
12 changes: 6 additions & 6 deletions src/ocaml/utils/config.ml
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,13 @@
let version = Sys.ocaml_version

(* When bumping this number, be sure to also update ../typing/magic_numbers.ml *)
let cmi_magic_number = "Caml1999I560"
let cmi_magic_number = "Caml1999I561"

let ast_impl_magic_number = "Caml1999M560"
let ast_intf_magic_number = "Caml1999N560"
let cmt_magic_number = "Caml1999T560"
let cms_magic_number = "Caml1999S560"
let index_magic_number = "Merl2023I560"
let ast_impl_magic_number = "Caml1999M561"
let ast_intf_magic_number = "Caml1999N561"
let cmt_magic_number = "Caml1999T561"
let cms_magic_number = "Caml1999S561"
let index_magic_number = "Merl2023I561"

let interface_suffix = ref ".mli"

Expand Down
18 changes: 9 additions & 9 deletions tests/test-dirs/function-recovery.t
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
<def>
pattern (test.ml[2,79+6]..test.ml[2,79+13])
Tpat_var \"problem/280\"
value_mode meet(local,once,nonportable,yielding)(modevar#0[global,many,portable,unyielding .. global,many,nonportable,unyielding]);imply(unique,uncontended)(modevar#1[aliased,contended .. unique,uncontended])
value_mode meet(local,once,nonportable,yielding,stateful)(modevar#0[global,many,portable,unyielding,stateless .. global,many,nonportable,unyielding,stateful]);imply(unique,uncontended,read_write)(modevar#1[aliased,contended,immutable .. unique,uncontended,read_write])
expression (test.ml[2,79+16]..test.ml[2,79+24])
Texp_variant \"Problem\"
None
Expand All @@ -35,7 +35,7 @@
None
expression (test.ml[3,104+11]..test.ml[3,104+28])
Texp_function
alloc_mode id(modevar#f[global,many,portable,unyielding .. local,once,nonportable,yielding]);id(modevar#10[aliased,contended .. unique,uncontended])
alloc_mode id(modevar#f[global,many,portable,unyielding,stateless .. local,once,nonportable,yielding,stateful]);id(modevar#10[aliased,contended,immutable .. unique,uncontended,read_write])
[]
Tfunction_body
expression (test.ml[3,104+11]..test.ml[3,104+28])
Expand Down Expand Up @@ -69,12 +69,12 @@
<def>
pattern (type.ml[1,0+4]..type.ml[1,0+5])
Tpat_var \"f/280\"
value_mode meet(local,once,nonportable,yielding)(modevar#0[global,many,portable,unyielding .. global,many,nonportable,unyielding]);imply(unique,uncontended)(modevar#1[aliased,contended .. unique,uncontended])
value_mode meet(local,once,nonportable,yielding,stateful)(modevar#0[global,many,portable,unyielding,stateless .. global,many,nonportable,unyielding,stateful]);imply(unique,uncontended,read_write)(modevar#1[aliased,contended,immutable .. unique,uncontended,read_write])
expression (type.ml[1,0+8]..type.ml[1,0+61])
extra
Texp_newtype t
Texp_function
alloc_mode map_comonadic(regional_to_global)(modevar#2[global,many,portable,unyielding .. global,many,nonportable,unyielding]);id(modevar#3[aliased,contended .. unique,uncontended])
alloc_mode map_comonadic(regional_to_global)(modevar#2[global,many,portable,unyielding,stateless .. global,many,nonportable,unyielding,stateful]);id(modevar#3[aliased,contended,immutable .. unique,uncontended,read_write])
[
Nolabel
Param_pat
Expand All @@ -89,7 +89,7 @@
[]
]
Tpat_var \"foo/283\"
value_mode map_comonadic(local_to_regional)(modevar#4[global,many,portable,unyielding .. local,once,nonportable,yielding]);imply(unique,uncontended)(modevar#5[aliased,contended .. unique,uncontended])
value_mode map_comonadic(local_to_regional)(modevar#4[global,many,portable,unyielding,stateless .. local,once,nonportable,yielding,stateful]);imply(unique,uncontended,read_write)(modevar#5[aliased,contended,immutable .. unique,uncontended,read_write])
]
Tfunction_body
expression (type.ml[1,0+39]..type.ml[1,0+61])
Expand Down Expand Up @@ -193,7 +193,7 @@
"attrs": [],
"kind": "pattern (test.ml[1,0+4]..test.ml[1,0+5])
Tpat_var \"f/280\"
value_mode meet(local,once,nonportable,yielding)(modevar#0[global,many,portable,unyielding .. global,many,nonportable,unyielding]);imply(unique,uncontended)(modevar#1[aliased,contended .. unique,uncontended])
value_mode meet(local,once,nonportable,yielding,stateful)(modevar#0[global,many,portable,unyielding,stateless .. global,many,nonportable,unyielding,stateful]);imply(unique,uncontended,read_write)(modevar#1[aliased,contended,immutable .. unique,uncontended,read_write])
",
"children": []
},
Expand Down Expand Up @@ -225,7 +225,7 @@
"attrs": [],
"kind": "pattern (test.ml[1,0+6]..test.ml[1,0+9])
Tpat_var \"x/282\"
value_mode map_comonadic(local_to_regional)(modevar#4[global,many,portable,unyielding .. local,once,nonportable,yielding]);imply(unique,uncontended)(modevar#5[aliased,contended .. unique,uncontended])
value_mode map_comonadic(local_to_regional)(modevar#4[global,many,portable,unyielding,stateless .. local,once,nonportable,yielding,stateful]);imply(unique,uncontended,read_write)(modevar#5[aliased,contended,immutable .. unique,uncontended,read_write])
",
"children": []
},
Expand Down Expand Up @@ -456,7 +456,7 @@
[
pattern (test.ml[4,57+9]..test.ml[4,57+12])
Tpat_var \"_aa/283\"
value_mode global,many,portable,unyielding;unique,uncontended
value_mode global,many,portable,unyielding,stateless;unique,uncontended,read_write
]
None
",
Expand All @@ -475,7 +475,7 @@
"attrs": [],
"kind": "pattern (test.ml[4,57+9]..test.ml[4,57+12])
Tpat_var \"_aa/283\"
value_mode global,many,portable,unyielding;unique,uncontended
value_mode global,many,portable,unyielding,stateless;unique,uncontended,read_write
",
"children": []
}
Expand Down
2 changes: 1 addition & 1 deletion tests/test-dirs/hidden-deps/dash-h.t
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ the type)
"line": 4,
"col": 12
},
"type": "sig type t = int val x : int @@ portable type s = Baz end",
"type": "sig type t = int val x : int @@ stateless type s = Baz end",
"tail": "no"
},
{
Expand Down
2 changes: 1 addition & 1 deletion tests/test-dirs/mode-recovery.t
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ We can locate the value that was used incorrectly
Error from a share lock
$ cat > share.ml <<EOF
> let () =
> let f : unit -> unit @@ once = fun () -> () in
> let f : (unit -> unit) @ once = fun () -> () in
> for _ = 1 to 10 do
> let g = f in
> for _ = 1 to 10 do
Expand Down
14 changes: 14 additions & 0 deletions tests/test-dirs/parameters.t/run.t
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,20 @@ we're correctly tracking parameters separately per file, even in server mode.

$ query_errors reexport.mli
[
{
"start": {
"line": 2,
"col": 18
},
"end": {
"line": 2,
"col": 19
},
"type": "warning",
"sub": [],
"valid": true,
"message": "Warning 49: no valid cmi file was found in path for module P. P is a parameter"
},
{
"start": {
"line": 6,
Expand Down
2 changes: 1 addition & 1 deletion tests/test-dirs/type-enclosing/issue1335.t
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ provide better result.
"line": 1,
"col": 25
},
"type": "type t1 = [ `A of [ `A of 'a | `B ] as 'a | `B ]",
"type": "type t1 : immutable_data with t1 = [ `A of [ `A of 'a | `B ] as 'a | `B ]",
"tail": "no"
}
],
Expand Down
8 changes: 4 additions & 4 deletions tests/test-dirs/type-enclosing/underscore-ids.t
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ We try several places in the identifier to check the result stability
<def>
pattern (under.ml[1,0+4]..under.ml[1,0+6])
Tpat_var \"aa/280\"
value_mode meet(local,once,nonportable,yielding)(modevar#0[global,many,portable,unyielding .. global,many,nonportable,unyielding]);imply(unique,uncontended)(modevar#1[aliased,contended .. unique,uncontended])
value_mode meet(local,once,nonportable,yielding,stateful)(modevar#0[global,many,portable,unyielding,stateless .. global,many,nonportable,unyielding,stateful]);imply(unique,uncontended,read_write)(modevar#1[aliased,contended,immutable .. unique,uncontended,read_write])
expression (under.ml[1,0+9]..under.ml[1,0+12])
Texp_constant Const_float 4.2
]
Expand All @@ -382,16 +382,16 @@ We try several places in the identifier to check the result stability
<def>
pattern (under.ml[2,13+4]..under.ml[2,13+5])
Tpat_var \"f/281\"
value_mode meet(local,once,nonportable,yielding)(modevar#5[global,many,portable,unyielding .. global,many,nonportable,unyielding]);imply(unique,uncontended)(modevar#6[aliased,contended .. unique,uncontended])
value_mode meet(local,once,nonportable,yielding,stateful)(modevar#5[global,many,portable,unyielding,stateless .. global,many,nonportable,unyielding,stateful]);imply(unique,uncontended,read_write)(modevar#6[aliased,contended,immutable .. unique,uncontended,read_write])
expression (under.ml[2,13+6]..under.ml[5,70+17]) ghost
Texp_function
alloc_mode map_comonadic(regional_to_global)(modevar#7[global,many,portable,unyielding .. global,many,nonportable,unyielding]);id(modevar#8[aliased,contended .. unique,uncontended])
alloc_mode map_comonadic(regional_to_global)(modevar#7[global,many,portable,unyielding,stateless .. global,many,nonportable,unyielding,stateful]);id(modevar#8[aliased,contended,immutable .. unique,uncontended,read_write])
[
Nolabel
Param_pat
pattern (under.ml[2,13+6]..under.ml[2,13+9])
Tpat_var \"x/283\"
value_mode map_comonadic(local_to_regional)(modevar#9[global,many,portable,unyielding .. local,once,nonportable,yielding]);imply(unique,uncontended)(modevar#a[aliased,contended .. unique,uncontended])
value_mode map_comonadic(local_to_regional)(modevar#9[global,many,portable,unyielding,stateless .. local,once,nonportable,yielding,stateful]);imply(unique,uncontended,read_write)(modevar#a[aliased,contended,immutable .. unique,uncontended,read_write])
]
Tfunction_body
expression (under.ml[2,13+18]..under.ml[5,70+17])
Expand Down
26 changes: 13 additions & 13 deletions tests/test-dirs/typing-recovery.t
Original file line number Diff line number Diff line change
Expand Up @@ -94,10 +94,10 @@
<def>
pattern (test.ml[2,15+4]..test.ml[2,15+5])
Tpat_var \"f/283\"
value_mode meet(local,once,nonportable,yielding)(modevar#0[global,many,portable,unyielding .. global,many,nonportable,unyielding]);imply(unique,uncontended)(modevar#1[aliased,contended .. unique,uncontended])
value_mode meet(local,once,nonportable,yielding,stateful)(modevar#0[global,many,portable,unyielding,stateless .. global,many,nonportable,unyielding,stateful]);imply(unique,uncontended,read_write)(modevar#1[aliased,contended,immutable .. unique,uncontended,read_write])
expression (test.ml[2,15+6]..test.ml[6,69+12]) ghost
Texp_function
alloc_mode map_comonadic(regional_to_global)(modevar#2[global,many,portable,unyielding .. global,many,nonportable,unyielding]);id(modevar#3[aliased,contended .. unique,uncontended])
alloc_mode map_comonadic(regional_to_global)(modevar#2[global,many,portable,unyielding,stateless .. global,many,nonportable,unyielding,stateful]);id(modevar#3[aliased,contended,immutable .. unique,uncontended,read_write])
[
Nolabel
Param_pat
Expand All @@ -108,7 +108,7 @@
Ttyp_constr \"t/280\"
[]
Tpat_var \"x/285\"
value_mode global,many,portable,unyielding;unique,uncontended
value_mode global,many,portable,unyielding,stateless;unique,uncontended,read_write
]
Tfunction_body
expression (test.ml[3,31+2]..test.ml[6,69+12])
Expand Down Expand Up @@ -254,10 +254,10 @@
<def>
pattern (test2.ml[2,15+4]..test2.ml[2,15+5])
Tpat_var \"f/283\"
value_mode meet(local,once,nonportable,yielding)(modevar#0[global,many,portable,unyielding .. global,many,nonportable,unyielding]);imply(unique,uncontended)(modevar#1[aliased,contended .. unique,uncontended])
value_mode meet(local,once,nonportable,yielding,stateful)(modevar#0[global,many,portable,unyielding,stateless .. global,many,nonportable,unyielding,stateful]);imply(unique,uncontended,read_write)(modevar#1[aliased,contended,immutable .. unique,uncontended,read_write])
expression (test2.ml[2,15+6]..test2.ml[2,15+24]) ghost
Texp_function
alloc_mode map_comonadic(regional_to_global)(modevar#2[global,many,portable,unyielding .. global,many,nonportable,unyielding]);id(modevar#3[aliased,contended .. unique,uncontended])
alloc_mode map_comonadic(regional_to_global)(modevar#2[global,many,portable,unyielding,stateless .. global,many,nonportable,unyielding,stateful]);id(modevar#3[aliased,contended,immutable .. unique,uncontended,read_write])
[
Nolabel
Param_pat
Expand Down Expand Up @@ -561,11 +561,11 @@ make sure we also handle that correctly in structures:
Ttyp_constr \"int/1!\"
[]
Tpat_var \"foo1/280\"
value_mode global,many,portable,unyielding;unique,uncontended
value_mode global,many,portable,unyielding,stateless;unique,uncontended,read_write
expression (test_ct.ml[1,0+17]..test_ct.ml[1,0+18])
extra
Texp_mode
alloc_const_option_mode None,None,None,None,None,None
alloc_const_option_mode None,None,None,None,None,None,None,None
Texp_constraint
core_type (test_ct.ml[1,0+11]..test_ct.ml[1,0+14])
Ttyp_constr \"int/1!\"
Expand All @@ -592,11 +592,11 @@ make sure we also handle that correctly in structures:
None
]
Tpat_var \"foo2/281\"
value_mode meet(local,once,nonportable,yielding)(modevar#5[global,many,portable,unyielding .. global,many,nonportable,unyielding]);imply(unique,uncontended)(modevar#6[aliased,contended .. unique,uncontended])
value_mode meet(local,once,nonportable,yielding,stateful)(modevar#5[global,many,portable,unyielding,stateless .. global,many,nonportable,unyielding,stateful]);imply(unique,uncontended,read_write)(modevar#6[aliased,contended,immutable .. unique,uncontended,read_write])
expression (test_ct.ml[3,20+24]..test_ct.ml[3,20+28])
extra
Texp_mode
alloc_const_option_mode None,None,None,None,None,None
alloc_const_option_mode None,None,None,None,None,None,None,None
Texp_constraint
core_type (test_ct.ml[3,20+11]..test_ct.ml[3,20+21])
Ttyp_tuple
Expand All @@ -611,7 +611,7 @@ make sure we also handle that correctly in structures:
None
]
Texp_tuple
alloc_mode meet(local,once,nonportable,yielding,map_comonadic(regional_to_global)(modevar#5[global,many,portable,unyielding .. global,many,nonportable,unyielding]));unique,uncontended
alloc_mode meet(local,once,nonportable,yielding,stateful,map_comonadic(regional_to_global)(modevar#5[global,many,portable,unyielding,stateless .. global,many,nonportable,unyielding,stateful]));unique,uncontended,read_write
[
Label: None
expression (test_ct.ml[3,20+24]..test_ct.ml[3,20+25])
Expand Down Expand Up @@ -641,11 +641,11 @@ make sure we also handle that correctly in structures:
[]
]
Tpat_var \"foo3/282\"
value_mode global,many,portable,unyielding;imply(unique,contended)(modevar#b[aliased,contended .. unique,uncontended])
value_mode global,many,portable,unyielding,stateless;imply(unique,contended,immutable)(modevar#b[aliased,contended,immutable .. unique,uncontended,read_write])
expression (test_ct.ml[5,50+23]..test_ct.ml[5,50+27])
extra
Texp_mode
alloc_const_option_mode None,None,None,None,None,None
alloc_const_option_mode None,None,None,None,None,None,None,None
Texp_constraint
core_type (test_ct.ml[5,50+11]..test_ct.ml[5,50+20])
Ttyp_tuple
Expand All @@ -660,7 +660,7 @@ make sure we also handle that correctly in structures:
[]
]
Texp_tuple
alloc_mode global,once,nonportable,yielding;unique,contended
alloc_mode global,once,nonportable,yielding,stateful;unique,contended,immutable
[
Label: None
expression (test_ct.ml[5,50+23]..test_ct.ml[5,50+24])
Expand Down
Loading