diff --git a/base/loading.jl b/base/loading.jl index 2b1f934ff6ffe..d406d3a409737 100644 --- a/base/loading.jl +++ b/base/loading.jl @@ -1652,7 +1652,8 @@ function srctext_files(f::IO, srctextpos::Int64) end # Test to see if this UUID is mentioned in this `Project.toml`; either as -# the top-level UUID (e.g. that of the project itself) or as a dependency. +# the top-level UUID (e.g. that of the project itself), as a dependency, +# or as a extra for Preferences. function get_uuid_name(project::Dict{String, Any}, uuid::UUID) uuid_p = get(project, "uuid", nothing)::Union{Nothing, String} name = get(project, "name", nothing)::Union{Nothing, String} @@ -1667,6 +1668,16 @@ function get_uuid_name(project::Dict{String, Any}, uuid::UUID) end end end + for subkey in ("deps", "extras") + subsection = get(project, subkey, nothing)::Union{Nothing, Dict{String, Any}} + if subsection !== nothing + for (k, v) in subsection + if uuid == UUID(v::String) + return k + end + end + end + end return nothing end diff --git a/base/version_git.sh b/base/version_git.sh index be86017d33c25..fbb884648642a 100644 --- a/base/version_git.sh +++ b/base/version_git.sh @@ -85,11 +85,10 @@ if [ -z "$fork_master_timestamp" ]; then fi build_system_directory="../.buildkite" -if [[ -d "${build_system_directory}/.git" ]]; then +if [ -d "${build_system_directory}/.git" ]; then build_system_commit=$(git -C "${build_system_directory}" rev-parse HEAD) build_system_commit_short=$(git -C "${build_system_directory}" rev-parse --short HEAD) else - echo "Warning: The build system directory does not exist or is not a Git repo: ${build_system_directory}" >&2 build_system_commit="" build_system_commit_short="" fi diff --git a/deps/checksums/Pkg-0779de5302e03bf768f9167fa4aad4d78ba3af96.tar.gz/md5 b/deps/checksums/Pkg-0779de5302e03bf768f9167fa4aad4d78ba3af96.tar.gz/md5 deleted file mode 100644 index be3777e39d8da..0000000000000 --- a/deps/checksums/Pkg-0779de5302e03bf768f9167fa4aad4d78ba3af96.tar.gz/md5 +++ /dev/null @@ -1 +0,0 @@ -41e0daa765be265f6dcf7f785b2739f6 diff --git a/deps/checksums/Pkg-0779de5302e03bf768f9167fa4aad4d78ba3af96.tar.gz/sha512 b/deps/checksums/Pkg-0779de5302e03bf768f9167fa4aad4d78ba3af96.tar.gz/sha512 deleted file mode 100644 index a0149f80dce59..0000000000000 --- a/deps/checksums/Pkg-0779de5302e03bf768f9167fa4aad4d78ba3af96.tar.gz/sha512 +++ /dev/null @@ -1 +0,0 @@ -1c82d425fd0eef13bc89e50f8df8755a3dc4f2d9802acafe64d6a339cc96bbf6e9444bd4d064b082432398c49581fd6232d1b6e0bf43779d8ef2ded146e8c6b7 diff --git a/deps/checksums/Pkg-0fae7809dbaa400d99cbe3a5b39c82332a1381d1.tar.gz/md5 b/deps/checksums/Pkg-0fae7809dbaa400d99cbe3a5b39c82332a1381d1.tar.gz/md5 new file mode 100644 index 0000000000000..2559637c3a0ae --- /dev/null +++ b/deps/checksums/Pkg-0fae7809dbaa400d99cbe3a5b39c82332a1381d1.tar.gz/md5 @@ -0,0 +1 @@ +9d69e3c7c27dc5254db9e1a928292cb5 diff --git a/deps/checksums/Pkg-0fae7809dbaa400d99cbe3a5b39c82332a1381d1.tar.gz/sha512 b/deps/checksums/Pkg-0fae7809dbaa400d99cbe3a5b39c82332a1381d1.tar.gz/sha512 new file mode 100644 index 0000000000000..505716bb6d892 --- /dev/null +++ b/deps/checksums/Pkg-0fae7809dbaa400d99cbe3a5b39c82332a1381d1.tar.gz/sha512 @@ -0,0 +1 @@ +80851a743a44176a6d10871b928ba8d025591e2fbfc125354904dcfafa7a5175080df216a5de8fd7c49d356a8491c6a5f63010e366a6819551ade352e4a34ab0 diff --git a/deps/checksums/openblas b/deps/checksums/openblas index 2419e2c98775e..a8f25b43d466e 100644 --- a/deps/checksums/openblas +++ b/deps/checksums/openblas @@ -1,94 +1,94 @@ -OpenBLAS.v0.3.13+9.aarch64-apple-darwin-libgfortran5.tar.gz/md5/9c7065d3d00ff5221ac27e09bdbaed30 -OpenBLAS.v0.3.13+9.aarch64-apple-darwin-libgfortran5.tar.gz/sha512/3212a7da3e290547d0726e654aa99280361ccd410e155e33544139710cb7eb4f29abac6ec7d8835256b46bbfce19be40a88b2083b22bb237171fdf26e6c00e86 -OpenBLAS.v0.3.13+9.aarch64-linux-gnu-libgfortran3.tar.gz/md5/6471a2b49cbb034a56ab9a173cf5b98a -OpenBLAS.v0.3.13+9.aarch64-linux-gnu-libgfortran3.tar.gz/sha512/752ed545b3e70574ec246e9c56bdff1f3f205637c74a2ec18124056f857950b30228b6de4a7f362819cfbd2680254602ed9237f1c44bdf5d892b564b45dc9d9b -OpenBLAS.v0.3.13+9.aarch64-linux-gnu-libgfortran4.tar.gz/md5/9c81f9e73ff1aa0449c8fac8adb4103d -OpenBLAS.v0.3.13+9.aarch64-linux-gnu-libgfortran4.tar.gz/sha512/b9db8ca9173bb08e5bf157df2b3ce938f897081b66066abf3ea7f4c1525015e01e7fec514237cfa2309753e84f625b612661c941d607b25d8b8263930a10b120 -OpenBLAS.v0.3.13+9.aarch64-linux-gnu-libgfortran5.tar.gz/md5/1f486d65f84aeb50d34e3024ee5f9d07 -OpenBLAS.v0.3.13+9.aarch64-linux-gnu-libgfortran5.tar.gz/sha512/4d172fa056b827fccd0cc96a240024c795604cd6e602dd7b5121c1b31f8ce93e0e4a1086222fd6a0867fc611a5019ab1666d3375b20587b561e3acde31d92713 -OpenBLAS.v0.3.13+9.aarch64-linux-musl-libgfortran3.tar.gz/md5/92fac4f7c2293dda1fe0ab4a88bfde0f -OpenBLAS.v0.3.13+9.aarch64-linux-musl-libgfortran3.tar.gz/sha512/326cf4ab5513a144b1b948d28f0b243f9e2b52875ae72d3d4f01cc5ffbd67da5b653aa303aad5fed563fe8962bd8f87c7ad4bb729af4b82f1a1cd495515f2eb6 -OpenBLAS.v0.3.13+9.aarch64-linux-musl-libgfortran4.tar.gz/md5/2f9338a8398acdbecd8d9e05c69d4f62 -OpenBLAS.v0.3.13+9.aarch64-linux-musl-libgfortran4.tar.gz/sha512/683c5e55c9a4d49a69befc8fd13cb3c2fa570a1fee76bffef714e6fca4ded67bcc5917629086cb638177a034d8cad1cc28d4a5e4f16f09b5aae42290bf4e3603 -OpenBLAS.v0.3.13+9.aarch64-linux-musl-libgfortran5.tar.gz/md5/26c23c5cb7e1faab1f51ca36eeac411f -OpenBLAS.v0.3.13+9.aarch64-linux-musl-libgfortran5.tar.gz/sha512/9c70bb0ae7fbf0257c8a06dff9f1a266d63524965b22963b70ad0783d1435e8ea9efdb3edc3abb4bb114169264f11a4e758d364c65a0140724b46151747a124d -OpenBLAS.v0.3.13+9.armv6l-linux-gnueabihf-libgfortran3.tar.gz/md5/07ba6855160affafe8cc6a353399110b -OpenBLAS.v0.3.13+9.armv6l-linux-gnueabihf-libgfortran3.tar.gz/sha512/b433a3bd12cc75f383e391681bce0e2702f630798b5200a3af11595b598c49d6acbf04cf0fa5e4427a514a40dfe063f8d95e9d487abce383eea5525835743e77 -OpenBLAS.v0.3.13+9.armv6l-linux-gnueabihf-libgfortran4.tar.gz/md5/fad1db837910c62b67467f219ad64c0c -OpenBLAS.v0.3.13+9.armv6l-linux-gnueabihf-libgfortran4.tar.gz/sha512/95f3b653a83a9b61ac576c18ce058b37b2dd99eb74fd7f35710069c2144d98aa2aeec362cf105ef0094893d567bbc2d831148e75c2d26f0876455b17def5bb9b -OpenBLAS.v0.3.13+9.armv6l-linux-gnueabihf-libgfortran5.tar.gz/md5/33d76e83c7296353a140689ff95783ea -OpenBLAS.v0.3.13+9.armv6l-linux-gnueabihf-libgfortran5.tar.gz/sha512/27f70f27d71b6bb243e061e0642be3115fd454bacdc8e16124b8e715a266306f4aadd8547d9fa6ad29dc47334e47484e130f6ae6d629ad30d9539df1cc2dbd91 -OpenBLAS.v0.3.13+9.armv6l-linux-musleabihf-libgfortran3.tar.gz/md5/ed22d1a874d0bfcb89a37cbf87d9a926 -OpenBLAS.v0.3.13+9.armv6l-linux-musleabihf-libgfortran3.tar.gz/sha512/fdd3127f5fc86d4a1540d5532692fd06cd8eee77c9b50da0e6c272d13768e515d05cec727d984646e4cc73d265434921e80a46379e966256afa1905a19902d89 -OpenBLAS.v0.3.13+9.armv6l-linux-musleabihf-libgfortran4.tar.gz/md5/c6ff03a44db29db7435d01fee34ea7c5 -OpenBLAS.v0.3.13+9.armv6l-linux-musleabihf-libgfortran4.tar.gz/sha512/d37220120022a9474c03010d25269f06a66283305034e87bfceea7501b5dd4478d8217ff22f3af4cbb72082d041c77ffda4e97abdbffe47bc8d94ed282ab4eac -OpenBLAS.v0.3.13+9.armv6l-linux-musleabihf-libgfortran5.tar.gz/md5/21792f589c4d1bd9c10a1a2293e7fb00 -OpenBLAS.v0.3.13+9.armv6l-linux-musleabihf-libgfortran5.tar.gz/sha512/a254ae7c7b8fd4d4b876a9a5a10759d56e632843b562d67320a042f1e4ef586fff0bf53b91e614be79f99c54aabedc22005de89e83a00bc13df78cb9c7361657 -OpenBLAS.v0.3.13+9.armv7l-linux-gnueabihf-libgfortran3.tar.gz/md5/d1ebcacbc56354f4a76c7e641969d7d6 -OpenBLAS.v0.3.13+9.armv7l-linux-gnueabihf-libgfortran3.tar.gz/sha512/76a6337078d8f9101c6c642609924d94818ae8146cdcabd61f87b05487ab0db96375fd0a118d668fd03d88fcb1fbef728db6f4438743b3a22569d9067a9a5029 -OpenBLAS.v0.3.13+9.armv7l-linux-gnueabihf-libgfortran4.tar.gz/md5/c65ea90ee6704bbb35a83d17760ee8cd -OpenBLAS.v0.3.13+9.armv7l-linux-gnueabihf-libgfortran4.tar.gz/sha512/07511877b4395282e75c8a696f732985cb850fb8ee8066e4f8b8cb81246b823de35a9224f9a24de15a2fbb2fd680515c565fd34a4ab6961faa73c32cafa1ae1a -OpenBLAS.v0.3.13+9.armv7l-linux-gnueabihf-libgfortran5.tar.gz/md5/3dbbfa4fb017445d1259186150ad678e -OpenBLAS.v0.3.13+9.armv7l-linux-gnueabihf-libgfortran5.tar.gz/sha512/2d598f96f03c1f3422db982109c2206920729ae466fe03404ec1ae2e503c6b0448e622c4fa8e7b45e0a3557f3a4fb3645d5b8c541ede256ec464f79f2fcbcfb1 -OpenBLAS.v0.3.13+9.armv7l-linux-musleabihf-libgfortran3.tar.gz/md5/5125b57dd059d1238903edf5fd98d1de -OpenBLAS.v0.3.13+9.armv7l-linux-musleabihf-libgfortran3.tar.gz/sha512/452b0454dd398ed571aad549cd7164986fe1d3bff1df3351217a74f6dcd63e28672db6c3b227d9b79139670d8d9953a4953fe819214f27deb2bbd3924c2923cf -OpenBLAS.v0.3.13+9.armv7l-linux-musleabihf-libgfortran4.tar.gz/md5/84e08a9fa5f3261ea742acfb6a53e348 -OpenBLAS.v0.3.13+9.armv7l-linux-musleabihf-libgfortran4.tar.gz/sha512/08bd50c6b1afd3736f0101e898c1d7a95ffbd7fefaadec5c9c7ec7ef8753aecb710e3843da7575af9a467059af03a79e08da7b980c84ad0cd72145574938c043 -OpenBLAS.v0.3.13+9.armv7l-linux-musleabihf-libgfortran5.tar.gz/md5/40880ef817f9a4cbbcacd769e0654ddf -OpenBLAS.v0.3.13+9.armv7l-linux-musleabihf-libgfortran5.tar.gz/sha512/94abdf553ba216ec42d31e0d240859ce97acd862580d604723c5fd5fde4c7f0c45b3752b3130e5fc76cbb63ccebe81d345080825fddadd92e5b12174c9245acb -OpenBLAS.v0.3.13+9.i686-linux-gnu-libgfortran3.tar.gz/md5/8ec3205f37f37203fceac8e59a16dcce -OpenBLAS.v0.3.13+9.i686-linux-gnu-libgfortran3.tar.gz/sha512/fde27e0afc6ee2d6e86f2396ce6a9b9744c596c92de61b0d2b2f5e48898ff143255e445fec4f7f83da3f1d000b936baeff6271eec3ca3972b0b6825145d3c0cc -OpenBLAS.v0.3.13+9.i686-linux-gnu-libgfortran4.tar.gz/md5/40407ac7a16cc4e23f6c021a7ae7e22f -OpenBLAS.v0.3.13+9.i686-linux-gnu-libgfortran4.tar.gz/sha512/aeb764466c57c2c35f979c33c453335cfc5aff6e6b7615b8cf75a0f5ab15d549f7dbbe1f51e4376755c1968d3ea7d2cb7d7aff3443e951d9b4438dd7e024cddf -OpenBLAS.v0.3.13+9.i686-linux-gnu-libgfortran5.tar.gz/md5/0f76cb35ad32f92c374b6ff6c186f136 -OpenBLAS.v0.3.13+9.i686-linux-gnu-libgfortran5.tar.gz/sha512/82dc333b2beba94bd8948fe714255b8346fe1a1582767fc4ef6e912bdbce0e0f952831c28aa0c12ba1da66906adc30b7b9e9cf0763c784d29c998f3304813a48 -OpenBLAS.v0.3.13+9.i686-linux-musl-libgfortran3.tar.gz/md5/d5dcbd2ec95d1862f465d41bed59ad70 -OpenBLAS.v0.3.13+9.i686-linux-musl-libgfortran3.tar.gz/sha512/3e72142b2be54f48c845e3d0964956e0f87ab870b20a9a1ecafea1a114bf59918624387069d8cd51ef1e9e740eab94f9dbcafe23e6637dc024cc52a2690c5b6e -OpenBLAS.v0.3.13+9.i686-linux-musl-libgfortran4.tar.gz/md5/7880897bc2037bf2c3f657a4d48ecb2f -OpenBLAS.v0.3.13+9.i686-linux-musl-libgfortran4.tar.gz/sha512/8eb5b1dd6823f53e6832a96343e819a33d47ad89e6e3e0fbcf5cec962bd092a4a5ca2e26f3e1c52b6b37d1b2d42650c036d1efd384b5901773f4fc40cdb2133c -OpenBLAS.v0.3.13+9.i686-linux-musl-libgfortran5.tar.gz/md5/37a96efd98fc058c76bbb7202806ba46 -OpenBLAS.v0.3.13+9.i686-linux-musl-libgfortran5.tar.gz/sha512/4d5dc013e20860576056b1a58e243ec2d66d83942e867897c52f6e9c12c58598ee3bde0e5021d1cbb766c3c7d657b01f35dddf4816fca0e300cd84d265c37423 -OpenBLAS.v0.3.13+9.i686-w64-mingw32-libgfortran3.tar.gz/md5/2bcd665db4886a6b60cc366a33bb42c6 -OpenBLAS.v0.3.13+9.i686-w64-mingw32-libgfortran3.tar.gz/sha512/c5f06c27e53603915dc3692d33bd4345832fb7fd584f557699e736172c0e1cf4f02e1b9ec782933769b3174d6c43cea6e96924ba422fc90886f994ee16ddf928 -OpenBLAS.v0.3.13+9.i686-w64-mingw32-libgfortran4.tar.gz/md5/9fbac3f292b5a7a4f9e819b41ed8c00d -OpenBLAS.v0.3.13+9.i686-w64-mingw32-libgfortran4.tar.gz/sha512/1e7fe351f0c28489ae4eda327c6d4e6aa8c3bd55576ce3c9f81b0ca6b76cb6c8604cdcac0d59fd2716bb20eba2925d8f783037993109b5844be3035b25aa43dd -OpenBLAS.v0.3.13+9.i686-w64-mingw32-libgfortran5.tar.gz/md5/e8740b1d36ebd7c0f9a02453f50e50c5 -OpenBLAS.v0.3.13+9.i686-w64-mingw32-libgfortran5.tar.gz/sha512/a6ab67d0d8da77ecb208ff4a86b6a21728eb51d347245c30efc059f8894c9002cd33c0e422f31f63437075e27186833640411f381c0cec4e0481c9c4360e5c0f -OpenBLAS.v0.3.13+9.powerpc64le-linux-gnu-libgfortran3.tar.gz/md5/813ccffb1cda90991f5f53682fec0339 -OpenBLAS.v0.3.13+9.powerpc64le-linux-gnu-libgfortran3.tar.gz/sha512/80c3434c82b286b50a9d23af62298add39893bbb22c6e45142366fb023b432ad039925dc008311b4a5dae785dc523691241cbc641b164911038198377a686764 -OpenBLAS.v0.3.13+9.powerpc64le-linux-gnu-libgfortran4.tar.gz/md5/f6f63c58af00cf2a00f30c57ac8cbda2 -OpenBLAS.v0.3.13+9.powerpc64le-linux-gnu-libgfortran4.tar.gz/sha512/bf15cb18ae95e761f7780bff4414e282fae860d34adbfc5ac96ff113ab95440603901622eb35c8edf95faf9fe02a81aef901aa84806aa18547d7bb8da91253a2 -OpenBLAS.v0.3.13+9.powerpc64le-linux-gnu-libgfortran5.tar.gz/md5/d7829934a0766f3576e61313e293d275 -OpenBLAS.v0.3.13+9.powerpc64le-linux-gnu-libgfortran5.tar.gz/sha512/fea11fca8919be30a69cfcf85a130bebd8aee59f1bc26031591f4be78a30f17656edf84a8134608158173274fc2d9cc4ed55b20063fa6a42a328ee8d94cc745c -OpenBLAS.v0.3.13+9.x86_64-apple-darwin-libgfortran3.tar.gz/md5/a2aeaeeb0b64abea0025db3f4395c4d0 -OpenBLAS.v0.3.13+9.x86_64-apple-darwin-libgfortran3.tar.gz/sha512/8af3eb7b41558e739858fb94ebf36571caf4827de50ae5349530aa7caf8324d117803011b843483ef8ba843dc0e0a0b306dd6e099db0de3b7bb1c77e5e29da7f -OpenBLAS.v0.3.13+9.x86_64-apple-darwin-libgfortran4.tar.gz/md5/37ce9e7346d8ecb7911989c3c5206714 -OpenBLAS.v0.3.13+9.x86_64-apple-darwin-libgfortran4.tar.gz/sha512/45df09be7f54fa9777a34f0d3445c8d39df5cfbf2b41c4ae7254bb688d1ea4c350b583427484465bab6f32e8441b95258d09b98afbe53ac77dfd24e1ee2ecae5 -OpenBLAS.v0.3.13+9.x86_64-apple-darwin-libgfortran5.tar.gz/md5/0b44d3dec4c92e3f03a41787771c48dc -OpenBLAS.v0.3.13+9.x86_64-apple-darwin-libgfortran5.tar.gz/sha512/7bb0e107112dad72dde1b1e3c715fa6629bb7a979d77f1b1e270df3a7be5acdcf40aa25d61d387b46ae18b38a92bc73299dd4fff19565659822bd22ad2013f3c -OpenBLAS.v0.3.13+9.x86_64-linux-gnu-libgfortran3.tar.gz/md5/0887592f1dc790651a324b2642941d1c -OpenBLAS.v0.3.13+9.x86_64-linux-gnu-libgfortran3.tar.gz/sha512/815d57aa0a0ceb6ca70a29e5b666266947e470c9bcdc3da92b36c677b8e7c13a1ff8179b8e93618015cf8d513663efd0aed0a940accf4cf9485cd5971991e338 -OpenBLAS.v0.3.13+9.x86_64-linux-gnu-libgfortran4.tar.gz/md5/c77016b34c94dafc72c3f33f8426d9af -OpenBLAS.v0.3.13+9.x86_64-linux-gnu-libgfortran4.tar.gz/sha512/08e337be813507335e3fca07ef986bad74c905486dda6c1688f9ee1eee5afe33eff5c7701b69af49c38f6c96d7cb2885e79913c078b790b41da5fddb082e0524 -OpenBLAS.v0.3.13+9.x86_64-linux-gnu-libgfortran5.tar.gz/md5/682f1a6cad43848d07b24de44d3b4b1e -OpenBLAS.v0.3.13+9.x86_64-linux-gnu-libgfortran5.tar.gz/sha512/f14145a96c69ad2179cae00755a4bd013594741cfae0efb780a86be6864e8ee99c5a4cf4b0e4d9e116cf620e6e680453c196dfaa31decf303ba8196ad41146d9 -OpenBLAS.v0.3.13+9.x86_64-linux-musl-libgfortran3.tar.gz/md5/7520c42e4924d95c40051a35a9047756 -OpenBLAS.v0.3.13+9.x86_64-linux-musl-libgfortran3.tar.gz/sha512/56501d655aae0c7431fa64f320caa12cccb2c9d73816f439cf5c019b6f7a4c285c141645c7ac2b49122f7d522bb3acee93ddd34840919fe2d8274fbd63d8be57 -OpenBLAS.v0.3.13+9.x86_64-linux-musl-libgfortran4.tar.gz/md5/feb8ed1722c2ded5afc427f1419d42d8 -OpenBLAS.v0.3.13+9.x86_64-linux-musl-libgfortran4.tar.gz/sha512/9bf9123240052f0500d9a50d1fffa4895618e9f312ae46267060c3fe1bba4181fcb3091b43f33db043c307ca4522987a118531330592ad4dce4f195d9e255257 -OpenBLAS.v0.3.13+9.x86_64-linux-musl-libgfortran5.tar.gz/md5/6ad4b179e2b9c0be6e0dd7ecddba1df9 -OpenBLAS.v0.3.13+9.x86_64-linux-musl-libgfortran5.tar.gz/sha512/4105e0378edb8cf39440e4fd69c30dc28ccc861f9c91a6d5b09b7b28891bfde731e380087ef9000da2ce1b9da9392d154437a8a5d376eeb3235f6b973bc3a757 -OpenBLAS.v0.3.13+9.x86_64-unknown-freebsd-libgfortran3.tar.gz/md5/847e64837dd6ed5dae27e6021c1c5346 -OpenBLAS.v0.3.13+9.x86_64-unknown-freebsd-libgfortran3.tar.gz/sha512/0a432fe366e173f55961abc4439fc7c8924ea6d5268015141aa59c848fd502593296ed1c1ec6372ed23d6ffb88d69155086e33fa3644270adc47dde9f2f02908 -OpenBLAS.v0.3.13+9.x86_64-unknown-freebsd-libgfortran4.tar.gz/md5/d77005ce8ea9e66e8b72e3b1a6d161ae -OpenBLAS.v0.3.13+9.x86_64-unknown-freebsd-libgfortran4.tar.gz/sha512/a5e113491f8564664b2d97417224a894d46dd79368d02fc73901acdb24cfa7d02c7c0cf7207dcfaa3ba8abb8f3e3af55484497c9e70df4ad4976986f4455a4e0 -OpenBLAS.v0.3.13+9.x86_64-unknown-freebsd-libgfortran5.tar.gz/md5/7badf0b966a67efeae3877ec7b1b42bf -OpenBLAS.v0.3.13+9.x86_64-unknown-freebsd-libgfortran5.tar.gz/sha512/db4dae9bdd2e3b1da28a953e23a20262608cbbfe8025b4266ef3199342f4b92c0055991db9a056609290351ebc264861bc96ae3222cd3cb9020700fa0188bc11 -OpenBLAS.v0.3.13+9.x86_64-w64-mingw32-libgfortran3.tar.gz/md5/5a9fae77775d82e80ca0769970227221 -OpenBLAS.v0.3.13+9.x86_64-w64-mingw32-libgfortran3.tar.gz/sha512/c1e99d7b2b2d6e9151d51de38c2a1d042b7f205efe97d6eccb3a7aba88deadad8edb429634a86952319ac244ba1a4b4f0473cb19827aee95f8a087ad893dd3a0 -OpenBLAS.v0.3.13+9.x86_64-w64-mingw32-libgfortran4.tar.gz/md5/3880a1891b119105af8046611703ee58 -OpenBLAS.v0.3.13+9.x86_64-w64-mingw32-libgfortran4.tar.gz/sha512/60bc70ac32ec85dbbaa7489728e975539749e182d69907981fe84ad78f473a91b0e25ee6b1c4e3b02c3fb1e441b6f8c552051a1fa84198da187defd9cc3cb4e1 -OpenBLAS.v0.3.13+9.x86_64-w64-mingw32-libgfortran5.tar.gz/md5/c6593f17375e85a8a33fca43332337c9 -OpenBLAS.v0.3.13+9.x86_64-w64-mingw32-libgfortran5.tar.gz/sha512/8d4290ac3fcffb8e175d767f91079e1e65dca4efa6dfd3601637c041c8c429db8dfddd38ff2af9fabe301d51e0b4d893990c67d8a44c572cb311940388132459 +OpenBLAS.v0.3.13+11.aarch64-apple-darwin-libgfortran5.tar.gz/md5/8f1a8fd6ef10e65136eb6a735f37610b +OpenBLAS.v0.3.13+11.aarch64-apple-darwin-libgfortran5.tar.gz/sha512/4bc73ce9ead185ec431bbc3cb2148d6920084a67549f64f3bd69b03456646f9ecd8a5379b803880b951147b3c28143c946965281c50f892b9fd89f658b4b76d2 +OpenBLAS.v0.3.13+11.aarch64-linux-gnu-libgfortran3.tar.gz/md5/0b0587af2106efd63591ed43d8ca6cc5 +OpenBLAS.v0.3.13+11.aarch64-linux-gnu-libgfortran3.tar.gz/sha512/77cd47541dd47fef2a3e9a42563e52a40a12c9a0c95eeb6f3e3a0828ef55167369eb5d848b40a5e443342939d87ace88712f8deaaabd5760d6901bfcbba30827 +OpenBLAS.v0.3.13+11.aarch64-linux-gnu-libgfortran4.tar.gz/md5/c0c0b45023dcd4956894718364633dbb +OpenBLAS.v0.3.13+11.aarch64-linux-gnu-libgfortran4.tar.gz/sha512/742e76b82b52fe4422884a51c79bc282368ef09997faffb5b578bfa054e7cf1e0f519bc3ee33d3b9ec804ab0dfe2697abba45ec3a09df302cfb7010de7c6a16a +OpenBLAS.v0.3.13+11.aarch64-linux-gnu-libgfortran5.tar.gz/md5/8be1a269c560974999992ba311305003 +OpenBLAS.v0.3.13+11.aarch64-linux-gnu-libgfortran5.tar.gz/sha512/64587d77bf92362f6a2471cbcc6d7dff72a4e12b12d33010f53acf7a41e88e74ad89cd59c3e690b4495839e3cb221f7c97d7c710dd79fa8d459184f11d836b79 +OpenBLAS.v0.3.13+11.aarch64-linux-musl-libgfortran3.tar.gz/md5/bc0f91435d778869415addbce6ca0464 +OpenBLAS.v0.3.13+11.aarch64-linux-musl-libgfortran3.tar.gz/sha512/fa3151408e7ca42c5eb9c06e727e2e914d28aaa131ef09a76000810987d6e9f0dec6bed82fe6d69132758ee9039ecf2343a88005f58356c24b54ed9cadfd2d7a +OpenBLAS.v0.3.13+11.aarch64-linux-musl-libgfortran4.tar.gz/md5/b41c58aa9dd89ba6b08fe89601018708 +OpenBLAS.v0.3.13+11.aarch64-linux-musl-libgfortran4.tar.gz/sha512/76e32b90572d00554ebb3b66107b8aea460a1d545f4a9866a0b070e93a866cf3c2881939aeaff9614d18501bc597613b673e767719e863901a1b7b7d2b7900ba +OpenBLAS.v0.3.13+11.aarch64-linux-musl-libgfortran5.tar.gz/md5/30e1f167be706c03e35827590c2a0008 +OpenBLAS.v0.3.13+11.aarch64-linux-musl-libgfortran5.tar.gz/sha512/c42e7f34b87a0fa0d5b0121a07b3f3d0dab2ee47feb14e00da6c136e9a165ab28cfa6751c667bafd040e55ea0da58166c60226851d9e1e29dd8058c21fa2bc3d +OpenBLAS.v0.3.13+11.armv6l-linux-gnueabihf-libgfortran3.tar.gz/md5/42b61342e2740f07b17df67f8713bfc7 +OpenBLAS.v0.3.13+11.armv6l-linux-gnueabihf-libgfortran3.tar.gz/sha512/9cccf80ba7144a755aa7c2a00cbced05dc9498a49940a69efbb045308ecc7c8217426f427e62693fee3af3d6ded7cad3536f7f7b1099694865817af2b15ec9f0 +OpenBLAS.v0.3.13+11.armv6l-linux-gnueabihf-libgfortran4.tar.gz/md5/ed851fd867ca8ff2bfcefb2163227414 +OpenBLAS.v0.3.13+11.armv6l-linux-gnueabihf-libgfortran4.tar.gz/sha512/5bf85e972933ff6ac12641337e9049ef29433e063cf97b45dcb0447026e37af2e7a7e8c7e20bd03eeba9fda672639906b9e20ccb8958ca67ae3200c3e705aaca +OpenBLAS.v0.3.13+11.armv6l-linux-gnueabihf-libgfortran5.tar.gz/md5/c4f7d42af84b486346cfe372aaacb052 +OpenBLAS.v0.3.13+11.armv6l-linux-gnueabihf-libgfortran5.tar.gz/sha512/c3418322b9c3e54f61333d80a223ab379db9e9b7314b9930d1abc2bc40266cd7367e14e1c740e78f08976214438c5fbc600d94f5b8d13313f8b65d996a4a773c +OpenBLAS.v0.3.13+11.armv6l-linux-musleabihf-libgfortran3.tar.gz/md5/befd2d01230736bd2849dc11e0a07133 +OpenBLAS.v0.3.13+11.armv6l-linux-musleabihf-libgfortran3.tar.gz/sha512/e583f01a1f4a8931d07bd1fc0171bc46f8e2337e3a92f9efbd7833656dd690d5bfab23397253b45323f226b346f08581edfea374310e4dcc4dd436f5b50df35b +OpenBLAS.v0.3.13+11.armv6l-linux-musleabihf-libgfortran4.tar.gz/md5/6874054749d63be9efa2c7010ded22bc +OpenBLAS.v0.3.13+11.armv6l-linux-musleabihf-libgfortran4.tar.gz/sha512/59abe8473836ae3ad915ae55d912ba5b56fddf2910a57ade1537f490c227cbad2d3e57b1514f27b3452c177c7cd56c2d197cfe893b426b9265cfbd515f8e646b +OpenBLAS.v0.3.13+11.armv6l-linux-musleabihf-libgfortran5.tar.gz/md5/d3a01ab7157534ee8ed5d9e12f4ea084 +OpenBLAS.v0.3.13+11.armv6l-linux-musleabihf-libgfortran5.tar.gz/sha512/ac597df7fe962d2f1aa3bc329351ea9e9b451259c2d8c626a608fb9d377bf77dffbe8499b66c67e93953c3d5d428cdb5b9128d44fc337df19e8a977a3485e251 +OpenBLAS.v0.3.13+11.armv7l-linux-gnueabihf-libgfortran3.tar.gz/md5/1a7d139c7dabc177c7b8ed3a6dca0676 +OpenBLAS.v0.3.13+11.armv7l-linux-gnueabihf-libgfortran3.tar.gz/sha512/eda366124fdaa0df9f941640bc65c1ab9c57b429171faae56f3972f5cfca02b9b87df36fffe77c4ae94e714f9cf969b85e7532f3b286efc593ad0657634c492f +OpenBLAS.v0.3.13+11.armv7l-linux-gnueabihf-libgfortran4.tar.gz/md5/37991602d784736799ef45885ad525d8 +OpenBLAS.v0.3.13+11.armv7l-linux-gnueabihf-libgfortran4.tar.gz/sha512/86dca636cb7bd5dd871cccaf19b31dcac0f902ae4740f64f34bcf6f98433684df7dca109ae060fc438d4ac9ae916fd01536f552a2bd04913a56db3a59928be7e +OpenBLAS.v0.3.13+11.armv7l-linux-gnueabihf-libgfortran5.tar.gz/md5/abe2807bc7b668f6dcbaf41b49462a3e +OpenBLAS.v0.3.13+11.armv7l-linux-gnueabihf-libgfortran5.tar.gz/sha512/3b4ba4ab7413d7acf84ba650f2f7928865f9f554fb6d343fdda6ac45329a08af0a8d403d3fc613795789a941a55f0ee4993b03bcdded4cb987a0e58d8934fed7 +OpenBLAS.v0.3.13+11.armv7l-linux-musleabihf-libgfortran3.tar.gz/md5/d76cb81de897d4af7d5ff9fe1ceca27b +OpenBLAS.v0.3.13+11.armv7l-linux-musleabihf-libgfortran3.tar.gz/sha512/d8e73a40c3846f7a23d6807a9b5b4d66edd173622d45d6a7cdcd9b5bbc2d048c047a3e42fe49c0bac63c0d55d8813f355dca6e752ade7dc7c422576b67e543d2 +OpenBLAS.v0.3.13+11.armv7l-linux-musleabihf-libgfortran4.tar.gz/md5/aca2ee9e1d6a96b5ec8e07ceff5f6b68 +OpenBLAS.v0.3.13+11.armv7l-linux-musleabihf-libgfortran4.tar.gz/sha512/3fbdee10104e3d36aa7fcaa6f785bb6e02a4664c4623dfb6871624175fe73fdee0c8a64921e32e77a96c1ce351357295655fc699317b68ee30476d3f60381e69 +OpenBLAS.v0.3.13+11.armv7l-linux-musleabihf-libgfortran5.tar.gz/md5/25708be048c837b19617daf209b43003 +OpenBLAS.v0.3.13+11.armv7l-linux-musleabihf-libgfortran5.tar.gz/sha512/af342f7cb05e2fa3540178f69f0b4a4506f90665e711acb2fc933f8fbd3e739d15bf9d74f64d4de0ae143e56feb4f2d6b92dc734f684938e959fffbcbc07b8e4 +OpenBLAS.v0.3.13+11.i686-linux-gnu-libgfortran3.tar.gz/md5/68520a5d26e93c33ebf6cfb59d534970 +OpenBLAS.v0.3.13+11.i686-linux-gnu-libgfortran3.tar.gz/sha512/730444365b425c6115494a1082ad20bfb64aaefda5ff16637c76eb9140d7f18561772782649aa995b4cbe4ddca341b7170bbf69aa33c93169ed8c163ad785514 +OpenBLAS.v0.3.13+11.i686-linux-gnu-libgfortran4.tar.gz/md5/aad7e84c4a224a30d84ebab4850191cf +OpenBLAS.v0.3.13+11.i686-linux-gnu-libgfortran4.tar.gz/sha512/171e2775613e8967ef10327e1ffb3083c4cb22b7951e5fc22be29392275fbae692e55bf3e856bcc5a37e2a08b88dd83a396f90533378938f7ba94857d40028cf +OpenBLAS.v0.3.13+11.i686-linux-gnu-libgfortran5.tar.gz/md5/dbd1436f4cded98eb0238e8d832cc8bd +OpenBLAS.v0.3.13+11.i686-linux-gnu-libgfortran5.tar.gz/sha512/dfa2be2e0b71e10437504b012364ac33e538e732611c29633d5a2e7881cf8793f552fca2d9c1f9423b0dbe1d0050017eddf87022da2617317efa33d2460606f6 +OpenBLAS.v0.3.13+11.i686-linux-musl-libgfortran3.tar.gz/md5/f7fc06c47ed7d7f64ae4adddb1f66b41 +OpenBLAS.v0.3.13+11.i686-linux-musl-libgfortran3.tar.gz/sha512/26d9b61925c3e5491b25a1b16fe6f46e7fffd32d36a07d07ec7cf1081dd0a131dd3bfae4dc75f606b2e300d589cf79501e0964226e2fff66d189e177ab1ca168 +OpenBLAS.v0.3.13+11.i686-linux-musl-libgfortran4.tar.gz/md5/322ac7b1b39a879116ba17fc1066e770 +OpenBLAS.v0.3.13+11.i686-linux-musl-libgfortran4.tar.gz/sha512/1766eef1b973c570c0f0549be9bb4293ce999acfd3f1098e6e74cef96e4418f168796f4138e85abf17386c6bad9d3d6238224bc364368b8de89ce26f54b72351 +OpenBLAS.v0.3.13+11.i686-linux-musl-libgfortran5.tar.gz/md5/43765708b974bfaa1c773bea77cea755 +OpenBLAS.v0.3.13+11.i686-linux-musl-libgfortran5.tar.gz/sha512/51d1e090fca2fca43d451e8e94c02442ec582a2af57c01ce50f64752d83901d4696db56617fdc6f237e92d371b03bd813861ae9b3ef14d91264eb99290ec9dc6 +OpenBLAS.v0.3.13+11.i686-w64-mingw32-libgfortran3.tar.gz/md5/317a84b7c26cd8c8cc62eb652acf17d7 +OpenBLAS.v0.3.13+11.i686-w64-mingw32-libgfortran3.tar.gz/sha512/e615550562b271a80231d50a44633e4fc4d6cf3f353c035eb86f7d7f0e6bb6237db675e3b3c4b55d231a8301424e5a4be8bc0eedc3ae6b7411f66984db5b3ac0 +OpenBLAS.v0.3.13+11.i686-w64-mingw32-libgfortran4.tar.gz/md5/091f7d3317f693647ef4e4f3192741a1 +OpenBLAS.v0.3.13+11.i686-w64-mingw32-libgfortran4.tar.gz/sha512/68b69f866c40ce350ae7a482c489358ea994998330f32a92d96d2deac10d265b83c2df2f06f667ffa88662ee37c0d8423131d17f9018ea8a493ba792360a7da9 +OpenBLAS.v0.3.13+11.i686-w64-mingw32-libgfortran5.tar.gz/md5/1a5782674921adcecb34d4aab689d5d1 +OpenBLAS.v0.3.13+11.i686-w64-mingw32-libgfortran5.tar.gz/sha512/b9b288e4ad4fe0f0e3c9356e08a16fe8089f0ae45703a3f091060bd96001348faf36b629f91a4331e3ca346ea59608534e25cbc3a62ba0f15512b769dbcb09a2 +OpenBLAS.v0.3.13+11.powerpc64le-linux-gnu-libgfortran3.tar.gz/md5/5d5707708e894086dce3991e0a09a92a +OpenBLAS.v0.3.13+11.powerpc64le-linux-gnu-libgfortran3.tar.gz/sha512/02622f10abb78cebd0b4043072ddc9d5c06d641eabb9d48ba91ce2e40e7675d3a55dcb5a7c6c639f7f8f750d1e84b50baf8f207a47ed5f9eb30ac0a2ed6554dc +OpenBLAS.v0.3.13+11.powerpc64le-linux-gnu-libgfortran4.tar.gz/md5/6cf3527472307a28f59c4e64a4640db4 +OpenBLAS.v0.3.13+11.powerpc64le-linux-gnu-libgfortran4.tar.gz/sha512/59ae404f8e47ef33b84fd67f6b392a5c300679425a16bb1cf6e63765010b1ba56df28dc9193ebec007a89c3acf5d20f4569562605dc42d57cb3aa740af74bf3a +OpenBLAS.v0.3.13+11.powerpc64le-linux-gnu-libgfortran5.tar.gz/md5/7eee8d53d86fbeab8bf6741979f23d24 +OpenBLAS.v0.3.13+11.powerpc64le-linux-gnu-libgfortran5.tar.gz/sha512/1ee84fb38f4b7b0cf7be68ca25f9adcb08de90e44ce29f2c122141e154e7d237320780e89e7e468c9f928d2804d68895bb171493f14e33e78deb170d54b4e85f +OpenBLAS.v0.3.13+11.x86_64-apple-darwin-libgfortran3.tar.gz/md5/b8728eaf26aec5fbfabd494d90ef93d9 +OpenBLAS.v0.3.13+11.x86_64-apple-darwin-libgfortran3.tar.gz/sha512/c1cdbe8c05c4fecc874a9bb3872482001faa3702eb3c757b2e9095eeb45bbc363a1eaaf39b6ae595051ad5fb804159cad58569f8312546ba85f6bc5f2c1a54ea +OpenBLAS.v0.3.13+11.x86_64-apple-darwin-libgfortran4.tar.gz/md5/dd85673edba5bfd1d9b5587083aa5f9f +OpenBLAS.v0.3.13+11.x86_64-apple-darwin-libgfortran4.tar.gz/sha512/4c32eaef7042458ff9a09feaf3812540e20be4c3736b229ef2cca8384fc917528a1097463cc688fcfd48b140832e2a9f1fc70dc4d69221b3e1e0ad5be9468d5f +OpenBLAS.v0.3.13+11.x86_64-apple-darwin-libgfortran5.tar.gz/md5/abd681fb99b6d1a3388b03c346e56f73 +OpenBLAS.v0.3.13+11.x86_64-apple-darwin-libgfortran5.tar.gz/sha512/2683d879d6db36df211d241d5e0e5a25b387737ff9135f78a82e226a0d3def8a1e0f0f8c9f5cb7236108056931d0dfdb13af8c091590d6eafdca4f05d613b065 +OpenBLAS.v0.3.13+11.x86_64-linux-gnu-libgfortran3.tar.gz/md5/eed63422521564253d55f244b9fbbbde +OpenBLAS.v0.3.13+11.x86_64-linux-gnu-libgfortran3.tar.gz/sha512/d3de5122c4d205993e4b60736ee2eeafe18aa841d2729187d82422bf165adbc3b1904b413502220290b2405b7a130b1ab3747fad3d6eece8e283736cfa15e7f0 +OpenBLAS.v0.3.13+11.x86_64-linux-gnu-libgfortran4.tar.gz/md5/b8a64c3c8add94b900daf60406c3cb62 +OpenBLAS.v0.3.13+11.x86_64-linux-gnu-libgfortran4.tar.gz/sha512/0660e6a8c8b98ac3241e800779db22d49cc3169cce70272f5de8fec228cb085cab81d149a0d86c2441e56b9de8f8652e4aafd386b8207a52380530e8970717c3 +OpenBLAS.v0.3.13+11.x86_64-linux-gnu-libgfortran5.tar.gz/md5/55b55b0a1a90796feb503f6aac7504df +OpenBLAS.v0.3.13+11.x86_64-linux-gnu-libgfortran5.tar.gz/sha512/d90c6e9e0fb66c5a5ef42bfaf3ec8692e81312fc877f5bb262933b5b646b0e4af54829667049e04242420fe9235b63df61dacb7d4210933e47a560633badf047 +OpenBLAS.v0.3.13+11.x86_64-linux-musl-libgfortran3.tar.gz/md5/f6fedabcbc75cae0915acbc3e8dd646f +OpenBLAS.v0.3.13+11.x86_64-linux-musl-libgfortran3.tar.gz/sha512/3caaab4dce1584f4e196537d959aac31ebdb09e3171e1851daa68718a886850fe6ddbd530dca09dc879eef5a2c582f1e3560072b393fa08d0fd9dc015977b574 +OpenBLAS.v0.3.13+11.x86_64-linux-musl-libgfortran4.tar.gz/md5/242859a231a64251c17475154bf56fa1 +OpenBLAS.v0.3.13+11.x86_64-linux-musl-libgfortran4.tar.gz/sha512/d5818e50d22300850d2b1cd2b02bbb070092fc8455418430b1554e54bf2c35250b117aa1ddfd8c76065e9fa3debbda5216d00634c29e3c0c5fa5301b328d1e1b +OpenBLAS.v0.3.13+11.x86_64-linux-musl-libgfortran5.tar.gz/md5/3cd65d1339548c91d4ce02816fb07e53 +OpenBLAS.v0.3.13+11.x86_64-linux-musl-libgfortran5.tar.gz/sha512/28835c42f9274cc94493b08d1a85f7f5bc3775457a0f14904609305bf3515af9ef10de7ff9bfb7b9130c9281004091e1863b8af1ebba10dd6f9f835efe40e115 +OpenBLAS.v0.3.13+11.x86_64-unknown-freebsd-libgfortran3.tar.gz/md5/e032208d9dbd2772994c8f49f7ee6ad5 +OpenBLAS.v0.3.13+11.x86_64-unknown-freebsd-libgfortran3.tar.gz/sha512/f89ba15c4391e2d1cb1018d755243fc612c7b168287d0afb4836ea8b3dcec2f07425e4e8012a3153978c0c8e15d2290de9ab5bce85136d218d738705200f4f22 +OpenBLAS.v0.3.13+11.x86_64-unknown-freebsd-libgfortran4.tar.gz/md5/1f65442ec422a120199200e2caa89d99 +OpenBLAS.v0.3.13+11.x86_64-unknown-freebsd-libgfortran4.tar.gz/sha512/c9de78e509e96b58fde395ef0306d59802b00f162cae66ba2df67b9d9860bce1f7bba7956a7196240804f9af88a4baf842a1784602a2988e412160e42a6c5c89 +OpenBLAS.v0.3.13+11.x86_64-unknown-freebsd-libgfortran5.tar.gz/md5/10a2c99207a983f3e2cd37ebe8b96faa +OpenBLAS.v0.3.13+11.x86_64-unknown-freebsd-libgfortran5.tar.gz/sha512/afa1f736bba9c5fb56b650825bd87e3a8406d176b62eff849ba919d8b5ff68dc93539d2acda3f23a466049e2fb2029f761e1f70924a1ec25043c718783d9fce1 +OpenBLAS.v0.3.13+11.x86_64-w64-mingw32-libgfortran3.tar.gz/md5/9444aad6d17482b2fd8b8ac97d50fad6 +OpenBLAS.v0.3.13+11.x86_64-w64-mingw32-libgfortran3.tar.gz/sha512/d98159c7c0ed34d3fc921595244c24c8fdd8c5725de5bb4d4b90e48c096352510a0308d5b1a8723e59b3bd9146633d584d453b20c31cd5efd936cb5b702de768 +OpenBLAS.v0.3.13+11.x86_64-w64-mingw32-libgfortran4.tar.gz/md5/1d168ad059e084ec0df0f2f7ea2bdbd0 +OpenBLAS.v0.3.13+11.x86_64-w64-mingw32-libgfortran4.tar.gz/sha512/62e600a9863a1cba6e01c46ced54b6150185c1d8ff51a8b4a2e445673bfc64fb02ef2b6c99f1370bbf32521df4b24a0298818ae2a6c5f556175ca88ea7c76b32 +OpenBLAS.v0.3.13+11.x86_64-w64-mingw32-libgfortran5.tar.gz/md5/c0b26d0df6ba24971c87342e0c326b09 +OpenBLAS.v0.3.13+11.x86_64-w64-mingw32-libgfortran5.tar.gz/sha512/b82c5281548c31d926a372a81427805d2f64d0d120d6064cf45bb5c502941c334404a0c7276fba3f75eca478a6c3e10fb5c06348a1a65c045950e67c02876722 openblas-d2b11c47774b9216660e76e2fc67e87079f26fa1.tar.gz/md5/d50510c8b60b477b1ece4abafe66bf4d openblas-d2b11c47774b9216660e76e2fc67e87079f26fa1.tar.gz/sha512/95ce349353bea5e9c30455410b92fa9ebc833e58163a53a65b396c76fddf19147a323a3c69eea5892354488c67b027e20dc9b03754a0988f3bc8a4e9ad446b8b diff --git a/deps/gmp.mk b/deps/gmp.mk index 062e5e2207d34..a37327d82101e 100644 --- a/deps/gmp.mk +++ b/deps/gmp.mk @@ -39,12 +39,13 @@ $(SRCCACHE)/gmp-$(GMP_VER)/gmp_alloc_overflow_func.patch-applied: $(SRCCACHE)/gm patch -p1 < $(SRCDIR)/patches/gmp_alloc_overflow_func.patch echo 1 > $@ -$(SRCCACHE)/gmp-$(GMP_VER)/build-patched: \ +$(SRCCACHE)/gmp-$(GMP_VER)/source-patched: \ $(SRCCACHE)/gmp-$(GMP_VER)/gmp-HG-changeset.patch-applied \ $(SRCCACHE)/gmp-$(GMP_VER)/gmp-exception.patch-applied \ $(SRCCACHE)/gmp-$(GMP_VER)/gmp_alloc_overflow_func.patch-applied + echo 1 > $@ -$(BUILDDIR)/gmp-$(GMP_VER)/build-configured: $(SRCCACHE)/gmp-$(GMP_VER)/source-extracted $(SRCCACHE)/gmp-$(GMP_VER)/build-patched +$(BUILDDIR)/gmp-$(GMP_VER)/build-configured: $(SRCCACHE)/gmp-$(GMP_VER)/source-extracted $(SRCCACHE)/gmp-$(GMP_VER)/source-patched mkdir -p $(dir $@) cd $(dir $@) && \ $(dir $<)/configure $(CONFIGURE_COMMON) F77= --enable-cxx --enable-shared --disable-static $(GMP_CONFIGURE_OPTS) diff --git a/doc/Manifest.toml b/doc/Manifest.toml index a4887b9eef295..a669c7a621b77 100644 --- a/doc/Manifest.toml +++ b/doc/Manifest.toml @@ -2,6 +2,11 @@ manifest_format = "2.0" +[[deps.ANSIColoredPrinters]] +git-tree-sha1 = "574baf8110975760d391c710b6341da1afa48d8c" +uuid = "a4c015fc-c6ff-483c-b24f-f7ea428134e9" +version = "0.0.1" + [[deps.Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" @@ -11,15 +16,15 @@ uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" [[deps.DocStringExtensions]] deps = ["LibGit2"] -git-tree-sha1 = "a32185f5428d3986f47c2ab78b1f216d5e6cc96f" +git-tree-sha1 = "b19534d1895d702889b219c382a6e18010797f0b" uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -version = "0.8.5" +version = "0.8.6" [[deps.Documenter]] -deps = ["Base64", "Dates", "DocStringExtensions", "IOCapture", "InteractiveUtils", "JSON", "LibGit2", "Logging", "Markdown", "REPL", "Test", "Unicode"] -git-tree-sha1 = "5acbebf1be22db43589bc5aa1bb5fcc378b17780" +deps = ["ANSIColoredPrinters", "Base64", "Dates", "DocStringExtensions", "IOCapture", "InteractiveUtils", "JSON", "LibGit2", "Logging", "Markdown", "REPL", "Test", "Unicode"] +git-tree-sha1 = "f425293f7e0acaf9144de6d731772de156676233" uuid = "e30172f5-a6a5-5a46-863b-614d45cd2de4" -version = "0.27.0" +version = "0.27.10" [[deps.IOCapture]] deps = ["Logging", "Random"] @@ -33,9 +38,9 @@ uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" [[deps.JSON]] deps = ["Dates", "Mmap", "Parsers", "Unicode"] -git-tree-sha1 = "81690084b6198a2e1da36fcfda16eeca9f9f24e4" +git-tree-sha1 = "8076680b162ada2a031f707ac7b4953e30667a37" uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "0.21.1" +version = "0.21.2" [[deps.LibGit2]] deps = ["Base64", "NetworkOptions", "Printf", "SHA"] @@ -53,12 +58,13 @@ uuid = "a63ad114-7e13-5084-954f-fe012c677804" [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" +version = "1.2.0" [[deps.Parsers]] deps = ["Dates"] -git-tree-sha1 = "c8abc88faa3f7a3950832ac5d6e690881590d6dc" +git-tree-sha1 = "ae4bbcadb2906ccc085cf52ac286dc1377dceccc" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "1.1.0" +version = "2.1.2" [[deps.Printf]] deps = ["Unicode"] @@ -69,11 +75,12 @@ deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" [[deps.Random]] -deps = ["Serialization"] +deps = ["SHA", "Serialization"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" +version = "0.7.0" [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" diff --git a/doc/make.jl b/doc/make.jl index 15197b8c5e704..8ae5357d49e40 100644 --- a/doc/make.jl +++ b/doc/make.jl @@ -303,6 +303,7 @@ makedocs( # Update URLs to external stdlibs (JuliaLang/julia#43199) for (root, _, files) in walkdir(output_path), file in joinpath.(root, files) endswith(file, ".html") || continue + local str str = read(file, String) # Index page links, update # https://github.com/JuliaLang/julia/blob/master/stdlib/${STDLIB_NAME}-${STDLIB_COMMIT}/path/to.md diff --git a/doc/src/manual/functions.md b/doc/src/manual/functions.md index bfc02cbf5cba4..b7b04f55a3572 100644 --- a/doc/src/manual/functions.md +++ b/doc/src/manual/functions.md @@ -74,7 +74,7 @@ and the `::Integer` specification means that it will only be callable when `n` i Argument-type declarations **normally have no impact on performance**: regardless of what argument types (if any) are declared, Julia compiles a specialized version of the function for the actual argument types passed by the caller. For example, calling `fib(1)` will trigger the compilation of specialized version of `fib` optimized specifically for `Int` arguments, which is then re-used if `fib(7)` or `fib(15)` are called. (There are rare exceptions when an argument-type declaration can trigger additional compiler specializations; see: [Be aware of when Julia avoids specializing](@ref).) The most common reasons to declare argument types in Julia are, instead: -* **Dispatch:** As explained in [Methods](@ref), you can have different versions ("methods") of a function for different argument types, in which case the argument types are used to determine which implementation is called for which arguments. For example, you might implement a completely different algorithm `fib(x::Number) = ...` that works for any `Number` type by using [Binet's formula](https://en.wikipedia.org/wiki/Fibonacci_number#Binet's_formula) to extend it to non-integer values. +* **Dispatch:** As explained in [Methods](@ref), you can have different versions ("methods") of a function for different argument types, in which case the argument types are used to determine which implementation is called for which arguments. For example, you might implement a completely different algorithm `fib(x::Number) = ...` that works for any `Number` type by using [Binet's formula](https://en.wikipedia.org/wiki/Fibonacci_number#Binet%27s_formula) to extend it to non-integer values. * **Correctness:** Type declarations can be useful if your function only returns correct results for certain argument types. For example, if we omitted argument types and wrote `fib(n) = n ≤ 2 ? one(n) : fib(n-1) + fib(n-2)`, then `fib(1.5)` would silently give us the nonsensical answer `1.0`. * **Clarity:** Type declarations can serve as a form of documentation about the expected arguments. diff --git a/src/array.c b/src/array.c index 43aeb3f805492..fa7e96d7cbe3e 100644 --- a/src/array.c +++ b/src/array.c @@ -219,51 +219,28 @@ JL_DLLEXPORT jl_array_t *jl_reshape_array(jl_value_t *atype, jl_array_t *data, jl_value_t *_dims) { jl_task_t *ct = jl_current_task; - jl_array_t *a; + assert(jl_types_equal(jl_tparam0(jl_typeof(data)), jl_tparam0(atype))); + size_t ndims = jl_nfields(_dims); assert(is_ntuple_long(_dims)); size_t *dims = (size_t*)_dims; - assert(jl_types_equal(jl_tparam0(jl_typeof(data)), jl_tparam0(atype))); - int ndimwords = jl_array_ndimwords(ndims); int tsz = sizeof(jl_array_t) + ndimwords * sizeof(size_t) + sizeof(void*); - a = (jl_array_t*)jl_gc_alloc(ct->ptls, tsz, atype); + jl_array_t *a = (jl_array_t*)jl_gc_alloc(ct->ptls, tsz, atype); // No allocation or safepoint allowed after this + // copy data (except dims) from the old object a->flags.pooled = tsz <= GC_MAX_SZCLASS; a->flags.ndims = ndims; a->offset = 0; a->data = NULL; a->flags.isaligned = data->flags.isaligned; - jl_array_t *owner = (jl_array_t*)jl_array_owner(data); - jl_value_t *eltype = jl_tparam0(atype); - size_t elsz = 0, align = 0; - int isboxed = !jl_islayout_inline(eltype, &elsz, &align); - assert(isboxed == data->flags.ptrarray); - if (!isboxed) { - a->elsize = LLT_ALIGN(elsz, align); - jl_value_t *ownerty = jl_typeof(owner); - size_t oldelsz = 0, oldalign = 0; - if (ownerty == (jl_value_t*)jl_string_type) { - oldalign = 1; - } - else { - jl_islayout_inline(jl_tparam0(ownerty), &oldelsz, &oldalign); - } - if (oldalign < align) - jl_exceptionf(jl_argumenterror_type, - "reinterpret from alignment %d bytes to alignment %d bytes not allowed", - (int) oldalign, (int) align); - a->flags.ptrarray = 0; - a->flags.hasptr = data->flags.hasptr; - } - else { - a->elsize = sizeof(void*); - a->flags.ptrarray = 1; - a->flags.hasptr = 0; - } + a->elsize = data->elsize; + a->flags.ptrarray = data->flags.ptrarray; + a->flags.hasptr = data->flags.hasptr; // if data is itself a shared wrapper, // owner should point back to the original array + jl_array_t *owner = (jl_array_t*)jl_array_owner(data); jl_array_data_owner(a) = (jl_value_t*)owner; a->flags.how = 3; diff --git a/src/datatype.c b/src/datatype.c index 31b6bc93cd014..6e0c82dcc1387 100644 --- a/src/datatype.c +++ b/src/datatype.c @@ -248,9 +248,9 @@ int jl_struct_try_layout(jl_datatype_t *dt) return 1; } -int jl_datatype_isinlinealloc(jl_datatype_t *ty, int pointerfree) JL_NOTSAFEPOINT +int jl_datatype_isinlinealloc(jl_datatype_t *ty, int pointerfree) { - if (ty->name->mayinlinealloc && (ty->isconcretetype || ((jl_datatype_t*)jl_unwrap_unionall(ty->name->wrapper))->layout)) { // TODO: use jl_struct_try_layout(dt) (but it is a safepoint) + if (ty->name->mayinlinealloc && jl_struct_try_layout(ty)) { if (ty->layout->npointers > 0) { if (pointerfree) return 0; @@ -264,7 +264,7 @@ int jl_datatype_isinlinealloc(jl_datatype_t *ty, int pointerfree) JL_NOTSAFEPOIN return 0; } -static unsigned union_isinlinable(jl_value_t *ty, int pointerfree, size_t *nbytes, size_t *align, int asfield) JL_NOTSAFEPOINT +static unsigned union_isinlinable(jl_value_t *ty, int pointerfree, size_t *nbytes, size_t *align, int asfield) { if (jl_is_uniontype(ty)) { unsigned na = union_isinlinable(((jl_uniontype_t*)ty)->a, 1, nbytes, align, asfield); @@ -290,19 +290,19 @@ static unsigned union_isinlinable(jl_value_t *ty, int pointerfree, size_t *nbyte return 0; } -int jl_uniontype_size(jl_value_t *ty, size_t *sz) JL_NOTSAFEPOINT +int jl_uniontype_size(jl_value_t *ty, size_t *sz) { size_t al = 0; return union_isinlinable(ty, 0, sz, &al, 0) != 0; } -JL_DLLEXPORT int jl_islayout_inline(jl_value_t *eltype, size_t *fsz, size_t *al) JL_NOTSAFEPOINT +JL_DLLEXPORT int jl_islayout_inline(jl_value_t *eltype, size_t *fsz, size_t *al) { unsigned countbits = union_isinlinable(eltype, 0, fsz, al, 1); return (countbits > 0 && countbits < 127) ? countbits : 0; } -JL_DLLEXPORT int jl_stored_inline(jl_value_t *eltype) JL_NOTSAFEPOINT +JL_DLLEXPORT int jl_stored_inline(jl_value_t *eltype) { size_t fsz = 0, al = 0; return jl_islayout_inline(eltype, &fsz, &al); diff --git a/src/jltypes.c b/src/jltypes.c index 16db7bcc0ce11..f721e7fe3f466 100644 --- a/src/jltypes.c +++ b/src/jltypes.c @@ -46,12 +46,10 @@ static int layout_uses_free_typevars(jl_value_t *v, jl_typeenv_t *env) layout_uses_free_typevars(((jl_uniontype_t*)v)->b, env); if (jl_is_vararg(v)) { jl_vararg_t *vm = (jl_vararg_t*)v; - if (vm->T) { - if (layout_uses_free_typevars(vm->T, env)) - return 1; - if (vm->N && layout_uses_free_typevars(vm->N, env)) - return 1; - } + if (vm->T && layout_uses_free_typevars(vm->T, env)) + return 1; + if (vm->N && layout_uses_free_typevars(vm->N, env)) + return 1; return 0; } if (jl_is_unionall(v)) { diff --git a/src/julia.h b/src/julia.h index 55f14e86f2b2d..8e385e9574cfb 100644 --- a/src/julia.h +++ b/src/julia.h @@ -1495,8 +1495,8 @@ JL_DLLEXPORT void jl_set_nth_field(jl_value_t *v, size_t i, jl_value_t *r JL_DLLEXPORT int jl_field_isdefined(jl_value_t *v, size_t i) JL_NOTSAFEPOINT; JL_DLLEXPORT jl_value_t *jl_get_field(jl_value_t *o, const char *fld); JL_DLLEXPORT jl_value_t *jl_value_ptr(jl_value_t *a); -int jl_uniontype_size(jl_value_t *ty, size_t *sz) JL_NOTSAFEPOINT; -JL_DLLEXPORT int jl_islayout_inline(jl_value_t *eltype, size_t *fsz, size_t *al) JL_NOTSAFEPOINT; +int jl_uniontype_size(jl_value_t *ty, size_t *sz); +JL_DLLEXPORT int jl_islayout_inline(jl_value_t *eltype, size_t *fsz, size_t *al); // arrays JL_DLLEXPORT jl_array_t *jl_new_array(jl_value_t *atype, jl_value_t *dims); diff --git a/src/signals-unix.c b/src/signals-unix.c index 42f615c8ed64b..351e8e8cdaddb 100644 --- a/src/signals-unix.c +++ b/src/signals-unix.c @@ -817,10 +817,10 @@ static void *signal_listener(void *arg) bt_data_prof[bt_size_cur++].uintptr = 0; bt_data_prof[bt_size_cur++].uintptr = 0; } - - // notify thread to resume - jl_thread_resume(i, sig); } + + // notify thread to resume + jl_thread_resume(i, sig); } jl_unlock_profile(); } diff --git a/stdlib/Distributed/src/remotecall.jl b/stdlib/Distributed/src/remotecall.jl index 051a569156810..bbd2872653a5f 100644 --- a/stdlib/Distributed/src/remotecall.jl +++ b/stdlib/Distributed/src/remotecall.jl @@ -26,12 +26,13 @@ mutable struct Future <: AbstractRemoteRef where::Int whence::Int id::Int - v::Union{Some{Any}, Nothing} + lock::ReentrantLock + @atomic v::Union{Some{Any}, Nothing} Future(w::Int, rrid::RRID, v::Union{Some, Nothing}=nothing) = - (r = new(w,rrid.whence,rrid.id,v); return test_existing_ref(r)) + (r = new(w,rrid.whence,rrid.id,ReentrantLock(),v); return test_existing_ref(r)) - Future(t::NTuple{4, Any}) = new(t[1],t[2],t[3],t[4]) # Useful for creating dummy, zeroed-out instances + Future(t::NTuple{4, Any}) = new(t[1],t[2],t[3],ReentrantLock(),t[4]) # Useful for creating dummy, zeroed-out instances end """ @@ -69,10 +70,17 @@ function test_existing_ref(r::AbstractRemoteRef) found = getkey(client_refs, r, nothing) if found !== nothing @assert r.where > 0 - if isa(r, Future) && found.v === nothing && r.v !== nothing - # we have recd the value from another source, probably a deserialized ref, send a del_client message - send_del_client(r) - found.v = r.v + if isa(r, Future) + # this is only for copying the reference from Future to RemoteRef (just created) + fv_cache = @atomic :acquire found.v + rv_cache = @atomic :monotonic r.v + if fv_cache === nothing && rv_cache !== nothing + # we have recd the value from another source, probably a deserialized ref, send a del_client message + send_del_client(r) + @lock found.lock begin + @atomicreplace found.v nothing => rv_cache + end + end end return found::typeof(r) end @@ -91,8 +99,9 @@ function finalize_ref(r::AbstractRemoteRef) send_del_client_no_lock(r) else # send_del_client only if the reference has not been set - r.v === nothing && send_del_client_no_lock(r) - r.v = nothing + v_cache = @atomic :monotonic r.v + v_cache === nothing && send_del_client_no_lock(r) + @atomic :monotonic r.v = nothing end r.where = 0 finally @@ -201,7 +210,8 @@ isready(f) # will not block ``` """ function isready(rr::Future) - rr.v === nothing || return true + v_cache = @atomic rr.v + v_cache === nothing || return true rid = remoteref_id(rr) return if rr.where == myid() @@ -354,26 +364,33 @@ end channel_type(rr::RemoteChannel{T}) where {T} = T -serialize(s::ClusterSerializer, f::Future) = serialize(s, f, f.v === nothing) -serialize(s::ClusterSerializer, rr::RemoteChannel) = serialize(s, rr, true) -function serialize(s::ClusterSerializer, rr::AbstractRemoteRef, addclient) - if addclient +function serialize(s::ClusterSerializer, f::Future) + v_cache = @atomic f.v + if v_cache === nothing p = worker_id_from_socket(s.io) - (p !== rr.where) && send_add_client(rr, p) + (p !== f.where) && send_add_client(f, p) end + fc = Future((f.where, f.whence, f.id, v_cache)) # copy to be used for serialization (contains a reset lock) + invoke(serialize, Tuple{ClusterSerializer, Any}, s, fc) +end + +function serialize(s::ClusterSerializer, rr::RemoteChannel) + p = worker_id_from_socket(s.io) + (p !== rr.where) && send_add_client(rr, p) invoke(serialize, Tuple{ClusterSerializer, Any}, s, rr) end function deserialize(s::ClusterSerializer, t::Type{<:Future}) - f = invoke(deserialize, Tuple{ClusterSerializer, DataType}, s, t) - f2 = Future(f.where, RRID(f.whence, f.id), f.v) # ctor adds to client_refs table + fc = invoke(deserialize, Tuple{ClusterSerializer, DataType}, s, t) # deserialized copy + f2 = Future(fc.where, RRID(fc.whence, fc.id), fc.v) # ctor adds to client_refs table # 1) send_add_client() is not executed when the ref is being serialized # to where it exists, hence do it here. # 2) If we have received a 'fetch'ed Future or if the Future ctor found an # already 'fetch'ed instance in client_refs (Issue #25847), we should not # track it in the backing RemoteValue store. - if f2.where == myid() && f2.v === nothing + f2v_cache = @atomic f2.v + if f2.where == myid() && f2v_cache === nothing add_client(remoteref_id(f2), myid()) end f2 @@ -570,7 +587,7 @@ end Wait for a value to become available for the specified [`Future`](@ref). """ -wait(r::Future) = (r.v !== nothing && return r; call_on_owner(wait_ref, r, myid()); r) +wait(r::Future) = (v_cache = @atomic r.v; v_cache !== nothing && return r; call_on_owner(wait_ref, r, myid()); r) """ wait(r::RemoteChannel, args...) @@ -587,11 +604,49 @@ Further calls to `fetch` on the same reference return the cached value. If the r is an exception, throws a [`RemoteException`](@ref) which captures the remote exception and backtrace. """ function fetch(r::Future) - r.v !== nothing && return something(r.v) - v = call_on_owner(fetch_ref, r) - r.v = Some(v) + v_cache = @atomic r.v + v_cache !== nothing && return something(v_cache) + + if r.where == myid() + rv, v_cache = @lock r.lock begin + v_cache = @atomic :monotonic r.v + rv = v_cache === nothing ? lookup_ref(remoteref_id(r)) : nothing + rv, v_cache + end + + if v_cache !== nothing + return something(v_cache) + else + v_local = fetch(rv.c) + end + else + v_local = call_on_owner(fetch_ref, r) + end + + v_cache = @atomic r.v + + if v_cache === nothing # call_on_owner case + v_old, status = @lock r.lock begin + @atomicreplace r.v nothing => Some(v_local) + end + # status == true - when value obtained through call_on_owner + # status == false - any other situation: atomicreplace fails, because by the time the lock is obtained cache will be populated + # why? local put! performs caching and putting into channel under r.lock + + # for local put! use the cached value, for call_on_owner cases just take the v_local as it was just cached in r.v + + # remote calls getting the value from `call_on_owner` used to return the value directly without wrapping it in `Some(x)` + # so we're doing the same thing here + if status + send_del_client(r) + return v_local + else # this `v_cache` is returned at the end of the function + v_cache = v_old + end + end + send_del_client(r) - v + something(v_cache) end fetch_ref(rid, args...) = fetch(lookup_ref(rid).c, args...) @@ -615,12 +670,30 @@ A `put!` on an already set `Future` throws an `Exception`. All asynchronous remote calls return `Future`s and set the value to the return value of the call upon completion. """ -function put!(rr::Future, v) - rr.v !== nothing && error("Future can be set only once") - call_on_owner(put_future, rr, v, myid()) - rr.v = Some(v) - rr +function put!(r::Future, v) + if r.where == myid() + rid = remoteref_id(r) + rv = lookup_ref(rid) + isready(rv) && error("Future can be set only once") + @lock r.lock begin + put!(rv, v) # this notifies the tasks waiting on the channel in fetch + set_future_cache(r, v) # set the cache before leaving the lock, so that the notified tasks already see it cached + end + del_client(rid, myid()) + else + @lock r.lock begin # same idea as above if there were any local tasks fetching on this Future + call_on_owner(put_future, r, v, myid()) + set_future_cache(r, v) + end + end + r end + +function set_future_cache(r::Future, v) + _, ok = @atomicreplace r.v nothing => Some(v) + ok || error("internal consistency error detected for Future") +end + function put_future(rid, v, caller) rv = lookup_ref(rid) isready(rv) && error("Future can be set only once") diff --git a/stdlib/Distributed/test/distributed_exec.jl b/stdlib/Distributed/test/distributed_exec.jl index ea301b5f80651..3f42ac28c536e 100644 --- a/stdlib/Distributed/test/distributed_exec.jl +++ b/stdlib/Distributed/test/distributed_exec.jl @@ -350,6 +350,9 @@ function test_regular_io_ser(ref::Distributed.AbstractRemoteRef) v = getfield(ref2, fld) if isa(v, Number) @test v === zero(typeof(v)) + elseif fld == :lock + @test v isa ReentrantLock + @test !islocked(v) elseif v !== nothing error(string("Add test for field ", fld)) end @@ -838,6 +841,16 @@ v15406 = remotecall_wait(() -> 1, id_other) fetch(v15406) remotecall_wait(fetch, id_other, v15406) + +# issue #43396 +# Covers the remote fetch where the value returned is `nothing` +# May be caused by attempting to unwrap a non-`Some` type with `something` +# `call_on_owner` ref fetches return values not wrapped in `Some` +# and have to be returned directly +@test nothing === fetch(remotecall(() -> nothing, workers()[1])) +@test 10 === fetch(remotecall(() -> 10, workers()[1])) + + # Test various forms of remotecall* invocations @everywhere f_args(v1, v2=0; kw1=0, kw2=0) = v1+v2+kw1+kw2 diff --git a/stdlib/OpenBLAS_jll/Project.toml b/stdlib/OpenBLAS_jll/Project.toml index 5b88a5ed888c4..a06cce4923dcd 100644 --- a/stdlib/OpenBLAS_jll/Project.toml +++ b/stdlib/OpenBLAS_jll/Project.toml @@ -1,6 +1,6 @@ name = "OpenBLAS_jll" uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.13+9" +version = "0.3.13+11" [deps] CompilerSupportLibraries_jll = "e66e0078-7015-5450-92f7-15fbd957f2ae" diff --git a/stdlib/Pkg.version b/stdlib/Pkg.version index 0d2d79e8dd7d2..7269a1635d8ef 100644 --- a/stdlib/Pkg.version +++ b/stdlib/Pkg.version @@ -1,4 +1,4 @@ PKG_BRANCH = release-1.7 -PKG_SHA1 = 0779de5302e03bf768f9167fa4aad4d78ba3af96 +PKG_SHA1 = 0fae7809dbaa400d99cbe3a5b39c82332a1381d1 PKG_GIT_URL := git://github.com/JuliaLang/Pkg.jl.git PKG_TAR_URL = https://api.github.com/repos/JuliaLang/Pkg.jl/tarball/$1 diff --git a/stdlib/Test/src/Test.jl b/stdlib/Test/src/Test.jl index 1e18dcb3f8279..71a8ac422310b 100644 --- a/stdlib/Test/src/Test.jl +++ b/stdlib/Test/src/Test.jl @@ -1056,8 +1056,8 @@ end function get_alignment(ts::DefaultTestSet, depth::Int) # The minimum width at this depth is ts_width = 2*depth + length(ts.description) - # If all passing, no need to look at children - !ts.anynonpass && return ts_width + # If not verbose and all passing, no need to look at children + !ts.verbose && !ts.anynonpass && return ts_width # Return the maximum of this width and the minimum width # for all children (if they exist) isempty(ts.results) && return ts_width diff --git a/stdlib/Test/test/runtests.jl b/stdlib/Test/test/runtests.jl index ab1995c335e89..94af0e4ac2eb6 100644 --- a/stdlib/Test/test/runtests.jl +++ b/stdlib/Test/test/runtests.jl @@ -1025,17 +1025,17 @@ end @testset "verbose option" begin expected = """ - Test Summary: | Pass Total - Parent | 9 9 - Child 1 | 3 3 - Child 1.1 | 1 1 - Child 1.2 | 1 1 - Child 1.3 | 1 1 - Child 2 | 3 3 - Child 3 | 3 3 - Child 3.1 | 1 1 - Child 3.2 | 1 1 - Child 3.3 | 1 1 + Test Summary: | Pass Total + Parent | 9 9 + Child 1 | 3 3 + Child 1.1 (long name) | 1 1 + Child 1.2 | 1 1 + Child 1.3 | 1 1 + Child 2 | 3 3 + Child 3 | 3 3 + Child 3.1 | 1 1 + Child 3.2 | 1 1 + Child 3.3 | 1 1 """ mktemp() do f, _ @@ -1045,7 +1045,7 @@ end @testset "Parent" verbose = true begin @testset "Child 1" verbose = true begin - @testset "Child 1.1" begin + @testset "Child 1.1 (long name)" begin @test 1 == 1 end diff --git a/test/compiler/codegen.jl b/test/compiler/codegen.jl index fc5c73173432f..fe1454c1746f0 100644 --- a/test/compiler/codegen.jl +++ b/test/compiler/codegen.jl @@ -602,6 +602,15 @@ get_llvm(g41438, ()); # cause allocation of layout @test S41438{Int}.layout != C_NULL @test !Base.datatype_pointerfree(S41438{Int}) + +# issue #43303 +struct A43303{T} + x::Pair{Ptr{T},Ptr{T}} +end +@test A43303.body.layout != C_NULL +@test isbitstype(A43303{Int}) +@test A43303.body.types[1].layout != C_NULL + # issue #41157 f41157(a, b) = a[1] = b[1] @test_throws BoundsError f41157(Tuple{Int}[], Tuple{Union{}}[]) diff --git a/test/loading.jl b/test/loading.jl index c56f6c463a21f..3970813fbd29b 100644 --- a/test/loading.jl +++ b/test/loading.jl @@ -189,6 +189,42 @@ end end end +# extras +@testset "extras" begin + mktempdir() do dir + project_file = joinpath(dir, "Project.toml") + touch(project_file) # dummy_uuid calls realpath + # various UUIDs to work with + proj_uuid = dummy_uuid(project_file) + root_uuid = uuid4() + this_uuid = uuid4() + + old_load_path = copy(LOAD_PATH) + try + copy!(LOAD_PATH, [project_file]) + write(project_file, """ + name = "Root" + uuid = "$root_uuid" + [extras] + This = "$this_uuid" + """) + # look up various packages by name + root = Base.identify_package("Root") + this = Base.identify_package("This") + that = Base.identify_package("That") + + @test root.uuid == root_uuid + @test this == nothing + @test that == nothing + + @test Base.get_uuid_name(project_file, this_uuid) == "This" + finally + copy!(LOAD_PATH, old_load_path) + end + end +end + + ## functional testing of package identification, location & loading ## saved_load_path = copy(LOAD_PATH)