diff --git a/Makefile b/Makefile index de830a8ab..9ce5f4f71 100644 --- a/Makefile +++ b/Makefile @@ -767,10 +767,7 @@ endif $(QUIET)$(call silent_on_success,generating opam.locked,\ $(OPAM) lock .) -# This is a magical version number that doesn't reinstall the world when added on top of what we -# have in opam.locked. To upgrade this version number, manually try to install several utop versions -# until you find one that doesn't recompile the world. TODO(t20828442): get rid of magic -OPAM_DEV_DEPS = ocp-indent merlin utop.2.4.2 webbrowser +OPAM_DEV_DEPS = ocp-indent merlin utop webbrowser ifneq ($(EMACS),no) OPAM_DEV_DEPS += tuareg diff --git a/infer/src/IR/Ident.mli b/infer/src/IR/Ident.mli index 6e2131f88..fb3d413f7 100644 --- a/infer/src/IR/Ident.mli +++ b/infer/src/IR/Ident.mli @@ -37,7 +37,7 @@ module Hash : Caml.Hashtbl.S with type key = t module Map : Caml.Map.S with type key = t (** Map with ident as key. *) -module HashQueue : Hash_queue.S with type Key.t = t +module HashQueue : Hash_queue.S with type key = t module NameGenerator : sig type t diff --git a/infer/src/base/CommandLineOption.ml b/infer/src/base/CommandLineOption.ml index bc13c5ea8..d8b1d946b 100644 --- a/infer/src/base/CommandLineOption.ml +++ b/infer/src/base/CommandLineOption.ml @@ -1004,7 +1004,7 @@ let parse ?config_file ~usage action initial_command = parse_args ~usage InferCommand env_args |> ignore ; add_parsed_args_to_args_to_export () ; let curr_usage = - let cl_args = match Array.to_list Sys.argv with _ :: tl -> tl | [] -> [] in + let cl_args = match Array.to_list (Sys.get_argv ()) with _ :: tl -> tl | [] -> [] in let curr_usage = parse_args ~usage action ?initial_command cl_args in add_parsed_args_to_args_to_export () ; curr_usage diff --git a/infer/src/base/Config.ml b/infer/src/base/Config.ml index eb3297bba..fdc222366 100644 --- a/infer/src/base/Config.ml +++ b/infer/src/base/Config.ml @@ -402,7 +402,7 @@ let clang_exe_aliases = let exe_basename = (* Sys.executable_name tries to do clever things which we must avoid, use argv[0] instead *) - Filename.basename Sys.argv.(0) + Filename.basename (Sys.get_argv ()).(0) let infer_is_clang = List.mem ~equal:String.equal clang_exe_aliases exe_basename diff --git a/infer/src/infer.ml b/infer/src/infer.ml index c1c6d5161..e3ef426e2 100644 --- a/infer/src/infer.ml +++ b/infer/src/infer.ml @@ -92,7 +92,7 @@ let log_environment_info () = infer_args ; L.environment_info "command line arguments: %a@\n" (Pp.cli_args_with_verbosity ~verbose:Config.debug_mode) - (Array.to_list Sys.argv) ; + (Array.to_list Sys.(get_argv ())) ; ( match Utils.get_available_memory_MB () with | None -> L.environment_info "Could not retrieve available memory (possibly not on Linux)@\n" diff --git a/infer/src/integration/Driver.ml b/infer/src/integration/Driver.ml index 4d84961db..cd9435813 100644 --- a/infer/src/integration/Driver.ml +++ b/infer/src/integration/Driver.ml @@ -557,12 +557,18 @@ let mode_from_command_line = ( match Config.generated_classes with | _ when Config.infer_is_clang -> let prog, args = - match Array.to_list Sys.argv with prog :: args -> (prog, args) | [] -> assert false + match Array.to_list (Sys.get_argv ()) with + | prog :: args -> + (prog, args) + | [] -> + assert false (* Sys.argv is never empty *) in Clang (Clang.Clang, prog, args) | _ when Config.infer_is_javac -> - let build_args = match Array.to_list Sys.argv with _ :: args -> args | [] -> [] in + let build_args = + match Array.to_list (Sys.get_argv ()) with _ :: args -> args | [] -> [] + in Javac (Javac.Javac, "javac", build_args) | Some path -> assert_supported_mode `Java "Buck genrule" ; diff --git a/opam b/opam index 29d7f1661..20ec4c271 100644 --- a/opam +++ b/opam @@ -21,11 +21,11 @@ install: [ ] depends: [ "ANSITerminal" {>="0.7"} - "async" {>="v0.12.0" & < "v0.13"} + "async" {>="v0.13.0" & < "v0.14"} "atdgen" {>="2.0.0"} "base64" {>="3.0.0"} "cmdliner" {>="1.0.0"} - "core" {>="v0.12.0" & < "v0.13"} + "core" {>="v0.13.0" & < "v0.14"} "conf-autoconf" {build} "conf-sqlite3" {build} "conf-zlib" {build} @@ -39,10 +39,10 @@ depends: [ "ocamlgraph" "ounit" {>="2.0.5"} "parmap" {>="1.0-rc8"} - "ppx_compare" {>= "v0.12.0" & < "v0.13"} + "ppx_compare" {>= "v0.13.0" & < "v0.14"} "ppx_deriving" {>="4.1"} - "ppx_fields_conv" {>="v0.12.0" & < "v0.13"} - "ppx_let" {>="v0.12.0" & < "v0.13"} + "ppx_fields_conv" {>="v0.13.0" & < "v0.14"} + "ppx_let" {>="v0.13.0" & < "v0.14"} "sawja" {>="1.5.8"} "sqlite3" "utop" {with-test} diff --git a/opam.locked b/opam.locked index bb4870a2c..19e0b5f78 100644 --- a/opam.locked +++ b/opam.locked @@ -21,23 +21,22 @@ install: [ ] depends: [ "ANSITerminal" {= "0.8.2"} - "async" {= "v0.12.0"} - "async_extra" {= "v0.12.0"} - "async_kernel" {= "v0.12.0"} - "async_rpc_kernel" {= "v0.12.0"} - "async_unix" {= "v0.12.0"} + "async" {= "v0.13.0"} + "async_kernel" {= "v0.13.0"} + "async_rpc_kernel" {= "v0.13.0"} + "async_unix" {= "v0.13.0"} "atd" {= "2.0.0"} "atdgen" {= "2.0.0"} "atdgen-runtime" {= "2.0.0"} - "base" {= "v0.12.2"} + "base" {= "v0.13.0"} "base-bigarray" {= "base"} "base-bytes" {= "base"} "base-threads" {= "base"} "base-unix" {= "base"} - "base64" {= "3.2.0"} - "base_bigstring" {= "v0.12.0"} - "base_quickcheck" {= "v0.12.1"} - "bin_prot" {= "v0.12.0"} + "base64" {= "3.3.0"} + "base_bigstring" {= "v0.13.0"} + "base_quickcheck" {= "v0.13.0"} + "bin_prot" {= "v0.13.0"} "biniou" {= "1.2.1"} "camlidl" {= "1.07"} "camlzip" {= "1.10"} @@ -51,30 +50,30 @@ depends: [ "conf-sqlite3" {= "1"} "conf-which" {= "1"} "conf-zlib" {= "1"} - "core" {= "v0.12.4"} - "core_kernel" {= "v0.12.3"} + "core" {= "v0.13.0"} + "core_kernel" {= "v0.13.0"} "cppo" {= "1.6.6"} "ctypes" {= "0.16.0"} - "dune" {= "2.1.3"} - "dune-configurator" {= "2.1.3"} - "dune-private-libs" {= "2.1.3"} + "dune" {= "2.2.0"} + "dune-configurator" {= "2.2.0"} + "dune-private-libs" {= "2.2.0"} "easy-format" {= "1.3.2"} "extlib" {= "1.7.6"} - "fieldslib" {= "v0.12.0"} + "fieldslib" {= "v0.13.0"} "integers" {= "0.3.0"} - "jane-street-headers" {= "v0.12.0"} + "jane-street-headers" {= "v0.13.0"} "javalib" {= "3.2.1"} "jbuilder" {= "1.0+beta20.2"} - "jst-config" {= "v0.12.0"} - "menhir" {= "20200123"} - "menhirLib" {= "20200123"} - "menhirSdk" {= "20200123"} + "jst-config" {= "v0.13.0"} + "menhir" {= "20200211"} + "menhirLib" {= "20200211"} + "menhirSdk" {= "20200211"} "mlgmpidl" {= "1.2.12"} "mtime" {= "1.2.0"} "num" {= "1.3"} "ocaml" {= "4.08.1"} "ocaml-compiler-libs" {= "v0.12.1"} - "ocaml-migrate-parsetree" {= "1.5.0"} + "ocaml-migrate-parsetree" {= "1.6.0"} "ocaml-variants" {= "4.08.1+flambda"} "ocamlbuild" {= "0.14.0"} "ocamlfind" {= "1.8.1"} @@ -82,56 +81,57 @@ depends: [ "octavius" {= "1.2.2"} "ounit" {= "2.2.2"} "ounit2" {= "2.2.2"} - "parmap" {= "1.0-rc11"} - "parsexp" {= "v0.12.0"} - "ppx_assert" {= "v0.12.0"} - "ppx_base" {= "v0.12.0"} - "ppx_bench" {= "v0.12.0"} - "ppx_bin_prot" {= "v0.12.1"} - "ppx_compare" {= "v0.12.0"} - "ppx_custom_printf" {= "v0.12.1"} + "parmap" {= "1.1.1"} + "parsexp" {= "v0.13.0"} + "ppx_assert" {= "v0.13.0"} + "ppx_base" {= "v0.13.0"} + "ppx_bench" {= "v0.13.0"} + "ppx_bin_prot" {= "v0.13.0"} + "ppx_cold" {= "v0.13.0"} + "ppx_compare" {= "v0.13.0"} + "ppx_custom_printf" {= "v0.13.0"} "ppx_derivers" {= "1.2.1"} "ppx_deriving" {= "4.4"} - "ppx_enumerate" {= "v0.12.0"} - "ppx_expect" {= "v0.12.0"} - "ppx_fail" {= "v0.12.0"} - "ppx_fields_conv" {= "v0.12.0"} - "ppx_hash" {= "v0.12.0"} - "ppx_here" {= "v0.12.0"} - "ppx_inline_test" {= "v0.12.0"} - "ppx_jane" {= "v0.12.0"} - "ppx_js_style" {= "v0.12.0"} - "ppx_let" {= "v0.12.0"} - "ppx_module_timer" {= "v0.12.0"} - "ppx_optcomp" {= "v0.12.0"} - "ppx_optional" {= "v0.12.0"} - "ppx_pipebang" {= "v0.12.0"} - "ppx_sexp_conv" {= "v0.12.0"} - "ppx_sexp_message" {= "v0.12.0"} - "ppx_sexp_value" {= "v0.12.0"} - "ppx_stable" {= "v0.12.0"} - "ppx_tools" {= "5.3+4.08.0"} - "ppx_typerep_conv" {= "v0.12.0"} - "ppx_variants_conv" {= "v0.12.0"} - "ppxfind" {= "1.3"} - "ppxlib" {= "0.8.1"} - "protocol_version_header" {= "v0.12.0"} + "ppx_enumerate" {= "v0.13.0"} + "ppx_expect" {= "v0.13.0"} + "ppx_fail" {= "v0.13.0"} + "ppx_fields_conv" {= "v0.13.0"} + "ppx_hash" {= "v0.13.0"} + "ppx_here" {= "v0.13.0"} + "ppx_inline_test" {= "v0.13.0"} + "ppx_jane" {= "v0.13.0"} + "ppx_js_style" {= "v0.13.0"} + "ppx_let" {= "v0.13.0"} + "ppx_module_timer" {= "v0.13.0"} + "ppx_optcomp" {= "v0.13.0"} + "ppx_optional" {= "v0.13.0"} + "ppx_pipebang" {= "v0.13.0"} + "ppx_sexp_conv" {= "v0.13.0"} + "ppx_sexp_message" {= "v0.13.0"} + "ppx_sexp_value" {= "v0.13.0"} + "ppx_stable" {= "v0.13.0"} + "ppx_tools" {= "6.0+4.08.0"} + "ppx_typerep_conv" {= "v0.13.0"} + "ppx_variants_conv" {= "v0.13.0"} + "ppxfind" {= "1.4"} + "ppxlib" {= "0.12.0"} + "protocol_version_header" {= "v0.13.0"} "re" {= "1.9.0"} "result" {= "1.4"} "sawja" {= "1.5.8"} "seq" {= "base"} - "sexplib" {= "v0.12.0"} - "sexplib0" {= "v0.12.0"} + "sexplib" {= "v0.13.0"} + "sexplib0" {= "v0.13.0"} "spawn" {= "v0.13.0"} - "splittable_random" {= "v0.12.0"} + "splittable_random" {= "v0.13.0"} "sqlite3" {= "5.0.1"} - "stdio" {= "v0.12.0"} + "stdio" {= "v0.13.0"} "stdlib-shims" {= "0.1.0"} - "textutils" {= "v0.12.0"} - "time_now" {= "v0.12.0"} + "textutils" {= "v0.13.0"} + "time_now" {= "v0.13.0"} "topkg" {= "1.0.1"} - "typerep" {= "v0.12.0"} - "variantslib" {= "v0.12.0"} + "typerep" {= "v0.13.0"} + "variantslib" {= "v0.13.0"} "xmlm" {= "1.3.0"} "yojson" {= "1.7.0"} "zarith" {= "1.9.1"}