From 4e7a55e4b418395a5f9b2725f85c92dfbc74f76b Mon Sep 17 00:00:00 2001 From: Jishnu Bhattacharya Date: Sat, 25 Mar 2023 16:37:24 +0530 Subject: [PATCH 01/30] Offset to indices in (unsafe_)copyto docstring (#49147) (cherry picked from commit 88a1fc7dcda4ebd23331221bdfc2f66e141190f0) --- base/array.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/base/array.jl b/base/array.jl index 1d0a641bd0040..3b1d938f04a7a 100644 --- a/base/array.jl +++ b/base/array.jl @@ -267,7 +267,7 @@ end """ unsafe_copyto!(dest::Array, do, src::Array, so, N) -Copy `N` elements from a source array to a destination, starting at offset `so` in the +Copy `N` elements from a source array to a destination, starting at the linear index `so` in the source and `do` in the destination (1-indexed). The `unsafe` prefix on this function indicates that no validation is performed to ensure @@ -307,8 +307,8 @@ unsafe_copyto!(dest::Array, doffs, src::Array, soffs, n) = """ copyto!(dest, do, src, so, N) -Copy `N` elements from collection `src` starting at offset `so`, to array `dest` starting at -offset `do`. Return `dest`. +Copy `N` elements from collection `src` starting at the linear index `so`, to array `dest` starting at +the index `do`. Return `dest`. """ function copyto!(dest::Array, doffs::Integer, src::Array, soffs::Integer, n::Integer) return _copyto_impl!(dest, doffs, src, soffs, n) From 8219ad57fcce879c4f81c57cf1598e4b0fa541e4 Mon Sep 17 00:00:00 2001 From: Jeff Bezanson Date: Fri, 31 Mar 2023 09:23:25 -0400 Subject: [PATCH 02/30] allow more statements in generate_precompile.jl (#49200) (cherry picked from commit 9001ea0c08180e5350d825b357a0b3d204350118) --- contrib/generate_precompile.jl | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/contrib/generate_precompile.jl b/contrib/generate_precompile.jl index 45226c58d3371..0a0941aa97651 100644 --- a/contrib/generate_precompile.jl +++ b/contrib/generate_precompile.jl @@ -377,30 +377,11 @@ function generate_precompile_statements() n_succeeded = 0 include_time = @elapsed for statement in statements # println(statement) - # XXX: skip some that are broken. these are caused by issue #39902 - occursin("Tuple{Artifacts.var\"#@artifact_str\", LineNumberNode, Module, Any, Any}", statement) && continue - occursin("Tuple{Base.Cartesian.var\"#@ncall\", LineNumberNode, Module, Int64, Any, Vararg{Any}}", statement) && continue - occursin("Tuple{Base.Cartesian.var\"#@ncall\", LineNumberNode, Module, Int32, Any, Vararg{Any}}", statement) && continue - occursin("Tuple{Base.Cartesian.var\"#@nloops\", LineNumberNode, Module, Any, Any, Any, Vararg{Any}}", statement) && continue - occursin("Tuple{Core.var\"#@doc\", LineNumberNode, Module, Vararg{Any}}", statement) && continue - # XXX: this is strange, as this isn't the correct representation of this - occursin("typeof(Core.IntrinsicFunction)", statement) && continue - # XXX: this is strange, as this method should not be getting compiled - occursin(", Core.Compiler.AbstractInterpreter, ", statement) && continue try ps = Meta.parse(statement) isexpr(ps, :call) || continue popfirst!(ps.args) # precompile(...) ps.head = :tuple - l = ps.args[end] - if (isexpr(l, :tuple) || isexpr(l, :curly)) && length(l.args) > 0 # Tuple{...} or (...) - # XXX: precompile doesn't currently handle overloaded Vararg arguments very well. - # Replacing N with a large number works around it. - l = l.args[end] - if isexpr(l, :curly) && length(l.args) == 2 && l.args[1] === :Vararg # Vararg{T} - push!(l.args, 100) # form Vararg{T, 100} instead - end - end # println(ps) ps = Core.eval(PrecompileStagingArea, ps) precompile(ps...) From c9596ef130c3adca5ac61defe3c2b580f2828913 Mon Sep 17 00:00:00 2001 From: Valentin Churavy Date: Fri, 31 Mar 2023 23:25:19 -0400 Subject: [PATCH 03/30] Make :open ccall use variadic cconv (#49212) (cherry picked from commit 1eee6ef7c830751255ca99d2fe66fe2897a60bcf) --- base/file.jl | 2 +- test/file.jl | 2 +- test/testhelpers/FakePTYs.jl | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/base/file.jl b/base/file.jl index b761e1d65ccb5..b42772ea350dc 100644 --- a/base/file.jl +++ b/base/file.jl @@ -105,7 +105,7 @@ if Sys.iswindows() end else function cd(f::Function, dir::AbstractString) - fd = ccall(:open, Int32, (Cstring, Int32), :., 0) + fd = ccall(:open, Int32, (Cstring, Int32, UInt32...), :., 0) systemerror(:open, fd == -1) try cd(dir) diff --git a/test/file.jl b/test/file.jl index 7ca49fe3a065b..8544ae980af6b 100644 --- a/test/file.jl +++ b/test/file.jl @@ -1253,7 +1253,7 @@ let f = open(file, "w") if Sys.iswindows() f = RawFD(ccall(:_open, Cint, (Cstring, Cint), file, Base.Filesystem.JL_O_RDONLY)) else - f = RawFD(ccall(:open, Cint, (Cstring, Cint), file, Base.Filesystem.JL_O_RDONLY)) + f = RawFD(ccall(:open, Cint, (Cstring, Cint, UInt32...), file, Base.Filesystem.JL_O_RDONLY)) end test_LibcFILE(Libc.FILE(f, Libc.modestr(true, false))) end diff --git a/test/testhelpers/FakePTYs.jl b/test/testhelpers/FakePTYs.jl index 17dd270cd2424..c592699440ee0 100644 --- a/test/testhelpers/FakePTYs.jl +++ b/test/testhelpers/FakePTYs.jl @@ -39,7 +39,7 @@ function open_fake_pty() rc = ccall(:unlockpt, Cint, (Cint,), fdm) rc != 0 && error("unlockpt") - fds = ccall(:open, Cint, (Ptr{UInt8}, Cint), + fds = ccall(:open, Cint, (Ptr{UInt8}, Cint, UInt32...), ccall(:ptsname, Ptr{UInt8}, (Cint,), fdm), O_RDWR | O_NOCTTY) pts = RawFD(fds) From f8a4a37cfdaf385c32c7a64b447cd611161e6e99 Mon Sep 17 00:00:00 2001 From: Benjamin Lorenz Date: Tue, 4 Apr 2023 16:32:51 +0200 Subject: [PATCH 04/30] (re-)allow include_dependency(directory) (#49244) same for symlinks, adjust docs accordingly and clarify that it refers to the mtime (cherry picked from commit 93df7e28c12a171b0a579f5e7517429def7c1d3b) --- base/loading.jl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/base/loading.jl b/base/loading.jl index 477b8b6bfd8e9..342358b05f28b 100644 --- a/base/loading.jl +++ b/base/loading.jl @@ -1510,11 +1510,11 @@ end """ include_dependency(path::AbstractString) -In a module, declare that the file specified by `path` (relative or absolute) is a -dependency for precompilation; that is, the module will need to be recompiled if this file -changes. +In a module, declare that the file, directory, or symbolic link specified by `path` +(relative or absolute) is a dependency for precompilation; that is, the module will need +to be recompiled if the modification time of `path` changes. -This is only needed if your module depends on a file that is not used via [`include`](@ref). It has +This is only needed if your module depends on a path that is not used via [`include`](@ref). It has no effect outside of compilation. """ function include_dependency(path::AbstractString) @@ -2790,7 +2790,7 @@ end end for chi in includes f, ftime_req = chi.filename, chi.mtime - if !isfile(f) + if !ispath(f) _f = fixup_stdlib_path(f) if isfile(_f) && startswith(_f, Sys.STDLIB) # mtime is changed by extraction From ab206cb84ee70b0874a59defc553134a243c1556 Mon Sep 17 00:00:00 2001 From: Lionel Zoubritzky Date: Wed, 5 Apr 2023 08:55:24 +0200 Subject: [PATCH 05/30] Fix LazyString building with non-ASCII preceding $ (#49248) (cherry picked from commit bd1a664bff55c62cd5b094da7ad371a4f75936a3) --- base/strings/lazy.jl | 2 +- test/strings/basic.jl | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/base/strings/lazy.jl b/base/strings/lazy.jl index 3510afc9b4f11..eaaa6397d37f2 100644 --- a/base/strings/lazy.jl +++ b/base/strings/lazy.jl @@ -67,7 +67,7 @@ macro lazy_str(text) parts = Any[] lastidx = idx = 1 while (idx = findnext('$', text, idx)) !== nothing - lastidx < idx && push!(parts, text[lastidx:idx-1]) + lastidx < idx && push!(parts, text[lastidx:prevind(text, idx)]) idx += 1 expr, idx = Meta.parseatom(text, idx; filename=string(__source__.file)) push!(parts, esc(expr)) diff --git a/test/strings/basic.jl b/test/strings/basic.jl index 33c64410454ef..3fb6de921e220 100644 --- a/test/strings/basic.jl +++ b/test/strings/basic.jl @@ -1144,4 +1144,7 @@ end end return a end |> Core.Compiler.is_foldable + let i=49248 + @test String(lazy"PR n°$i") == "PR n°49248" + end end From 8c1fe98f57a7c0ba07066f7e0cdb20344a37b842 Mon Sep 17 00:00:00 2001 From: Tanmay Mohapatra Date: Thu, 6 Apr 2023 08:18:02 +0530 Subject: [PATCH 06/30] make default worker pool an AbstractWorkerPool (#49101) Changes [Distributed._default_worker_pool](https://github.com/JuliaLang/julia/blob/5f5d2040511b42ba74bd7529a0eac9cf817ad496/stdlib/Distributed/src/workerpool.jl#L242) to hold an `AbstractWorkerPool` instead of `WorkerPool`. With this, alternate implementations can be plugged in as the default pool. Helps in cases where a cluster is always meant to use a certain custom pool. Lower level calls can then work without having to pass a custom pool reference with every call. (cherry picked from commit def2ddacc9a9b064d06c24d12885427fb0502465) --- stdlib/Distributed/src/pmap.jl | 6 +++--- stdlib/Distributed/src/workerpool.jl | 15 +++++++++++++-- stdlib/Distributed/test/distributed_exec.jl | 13 +++++++++++++ 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/stdlib/Distributed/src/pmap.jl b/stdlib/Distributed/src/pmap.jl index 603dfa7e031ce..f884d47fff98e 100644 --- a/stdlib/Distributed/src/pmap.jl +++ b/stdlib/Distributed/src/pmap.jl @@ -6,7 +6,7 @@ struct BatchProcessingError <: Exception end """ - pgenerate([::WorkerPool], f, c...) -> iterator + pgenerate([::AbstractWorkerPool], f, c...) -> iterator Apply `f` to each element of `c` in parallel using available workers and tasks. @@ -18,14 +18,14 @@ Note that `f` must be made available to all worker processes; see [Code Availability and Loading Packages](@ref code-availability) for details. """ -function pgenerate(p::WorkerPool, f, c) +function pgenerate(p::AbstractWorkerPool, f, c) if length(p) == 0 return AsyncGenerator(f, c; ntasks=()->nworkers(p)) end batches = batchsplit(c, min_batch_count = length(p) * 3) return Iterators.flatten(AsyncGenerator(remote(p, b -> asyncmap(f, b)), batches)) end -pgenerate(p::WorkerPool, f, c1, c...) = pgenerate(p, a->f(a...), zip(c1, c...)) +pgenerate(p::AbstractWorkerPool, f, c1, c...) = pgenerate(p, a->f(a...), zip(c1, c...)) pgenerate(f, c) = pgenerate(default_worker_pool(), f, c) pgenerate(f, c1, c...) = pgenerate(a->f(a...), zip(c1, c...)) diff --git a/stdlib/Distributed/src/workerpool.jl b/stdlib/Distributed/src/workerpool.jl index 89e52667c82c9..5dd1c07044e09 100644 --- a/stdlib/Distributed/src/workerpool.jl +++ b/stdlib/Distributed/src/workerpool.jl @@ -239,12 +239,14 @@ perform a `remote_do` on it. """ remote_do(f, pool::AbstractWorkerPool, args...; kwargs...) = remotecall_pool(remote_do, f, pool, args...; kwargs...) -const _default_worker_pool = Ref{Union{WorkerPool, Nothing}}(nothing) +const _default_worker_pool = Ref{Union{AbstractWorkerPool, Nothing}}(nothing) """ default_worker_pool() -[`WorkerPool`](@ref) containing idle [`workers`](@ref) - used by `remote(f)` and [`pmap`](@ref) (by default). +[`AbstractWorkerPool`](@ref) containing idle [`workers`](@ref) - used by `remote(f)` and [`pmap`](@ref) +(by default). Unless one is explicitly set via `default_worker_pool!(pool)`, the default worker pool is +initialized to a [`WorkerPool`](@ref). # Examples ```julia-repl @@ -267,6 +269,15 @@ function default_worker_pool() return _default_worker_pool[] end +""" + default_worker_pool!(pool::AbstractWorkerPool) + +Set a [`AbstractWorkerPool`](@ref) to be used by `remote(f)` and [`pmap`](@ref) (by default). +""" +function default_worker_pool!(pool::AbstractWorkerPool) + _default_worker_pool[] = pool +end + """ remote([p::AbstractWorkerPool], f) -> Function diff --git a/stdlib/Distributed/test/distributed_exec.jl b/stdlib/Distributed/test/distributed_exec.jl index c2c6efaa6f7e1..b596f5fb51988 100644 --- a/stdlib/Distributed/test/distributed_exec.jl +++ b/stdlib/Distributed/test/distributed_exec.jl @@ -675,6 +675,19 @@ wp = CachingPool(workers()) clear!(wp) @test length(wp.map_obj2ref) == 0 +# default_worker_pool! tests +wp_default = Distributed.default_worker_pool() +try + wp = CachingPool(workers()) + Distributed.default_worker_pool!(wp) + @test [1:100...] == pmap(x->x, wp, 1:100) + @test !isempty(wp.map_obj2ref) + clear!(wp) + @test isempty(wp.map_obj2ref) +finally + Distributed.default_worker_pool!(wp_default) +end + # The below block of tests are usually run only on local development systems, since: # - tests which print errors # - addprocs tests are memory intensive From 03ec03d3c0e84eb6f52ff2995491b106c59d5f75 Mon Sep 17 00:00:00 2001 From: Jameson Nash Date: Fri, 7 Apr 2023 13:25:31 -0400 Subject: [PATCH 07/30] more robust validation of allocation type (#49269) We generally hit the runtime in pretty specific places when allocations look funky (because they are missing a typevar bound, so inference is not too willing to deal with it). Try to throw an error in those cases before those can get allocated and cause problems later from being non-concrete objects. Fix #49203 (cherry picked from commit a1013e7022bc0c56bc46cb737efee790a73b1a92) --- src/datatype.c | 10 ++++++++-- src/intrinsics.cpp | 17 ++++++++++++----- src/runtime_intrinsics.c | 16 ++++++++-------- 3 files changed, 28 insertions(+), 15 deletions(-) diff --git a/src/datatype.c b/src/datatype.c index c8805076d4109..1cf83f5e211e5 100644 --- a/src/datatype.c +++ b/src/datatype.c @@ -1363,6 +1363,9 @@ JL_DLLEXPORT jl_value_t *jl_new_struct(jl_datatype_t *type, ...) { jl_task_t *ct = jl_current_task; if (type->instance != NULL) return type->instance; + if (!jl_is_datatype(type) || !type->isconcretetype || type->layout == NULL) { + jl_type_error("new", (jl_value_t*)jl_datatype_type, (jl_value_t*)type); + } va_list args; size_t i, nf = jl_datatype_nfields(type); va_start(args, type); @@ -1380,7 +1383,7 @@ JL_DLLEXPORT jl_value_t *jl_new_struct(jl_datatype_t *type, ...) JL_DLLEXPORT jl_value_t *jl_new_structv(jl_datatype_t *type, jl_value_t **args, uint32_t na) { jl_task_t *ct = jl_current_task; - if (!jl_is_datatype(type) || type->layout == NULL) { + if (!jl_is_datatype(type) || !type->isconcretetype || type->layout == NULL) { jl_type_error("new", (jl_value_t*)jl_datatype_type, (jl_value_t*)type); } size_t nf = jl_datatype_nfields(type); @@ -1417,7 +1420,7 @@ JL_DLLEXPORT jl_value_t *jl_new_structt(jl_datatype_t *type, jl_value_t *tup) jl_task_t *ct = jl_current_task; if (!jl_is_tuple(tup)) jl_type_error("new", (jl_value_t*)jl_tuple_type, tup); - if (!jl_is_datatype(type) || type->layout == NULL) + if (!jl_is_datatype(type) || !type->isconcretetype || type->layout == NULL) jl_type_error("new", (jl_value_t *)jl_datatype_type, (jl_value_t *)type); size_t nargs = jl_nfields(tup); size_t nf = jl_datatype_nfields(type); @@ -1463,6 +1466,9 @@ JL_DLLEXPORT jl_value_t *jl_new_struct_uninit(jl_datatype_t *type) { jl_task_t *ct = jl_current_task; if (type->instance != NULL) return type->instance; + if (!jl_is_datatype(type) || type->layout == NULL) { + jl_type_error("new", (jl_value_t*)jl_datatype_type, (jl_value_t*)type); + } size_t size = jl_datatype_size(type); jl_value_t *jv = jl_gc_alloc(ct->ptls, size, type); if (size > 0) diff --git a/src/intrinsics.cpp b/src/intrinsics.cpp index b822907e63524..a641110412433 100644 --- a/src/intrinsics.cpp +++ b/src/intrinsics.cpp @@ -509,20 +509,25 @@ static jl_cgval_t generic_bitcast(jl_codectx_t &ctx, const jl_cgval_t *argv) Type *llvmt = bitstype_to_llvm((jl_value_t*)bt, ctx.builder.getContext(), true); uint32_t nb = jl_datatype_size(bt); + Value *bt_value_rt = NULL; + if (!jl_is_concrete_type((jl_value_t*)bt)) { + bt_value_rt = boxed(ctx, bt_value); + emit_concretecheck(ctx, bt_value_rt, "bitcast: target type not a leaf primitive type"); + } + // Examine the second argument // bool isboxed; Type *vxt = julia_type_to_llvm(ctx, v.typ, &isboxed); - if (!jl_is_primitivetype(v.typ) || jl_datatype_size(v.typ) != nb) { Value *typ = emit_typeof_boxed(ctx, v); if (!jl_is_primitivetype(v.typ)) { if (jl_is_datatype(v.typ) && !jl_is_abstracttype(v.typ)) { - emit_error(ctx, "bitcast: expected primitive type value for second argument"); + emit_error(ctx, "bitcast: value not a primitive type"); return jl_cgval_t(); } else { Value *isprimitive = emit_datatype_isprimitivetype(ctx, typ); - error_unless(ctx, isprimitive, "bitcast: expected primitive type value for second argument"); + error_unless(ctx, isprimitive, "bitcast: value not a primitive type"); } } if (jl_is_datatype(v.typ) && !jl_is_abstracttype(v.typ)) { @@ -575,7 +580,7 @@ static jl_cgval_t generic_bitcast(jl_codectx_t &ctx, const jl_cgval_t *argv) return mark_julia_type(ctx, vx, false, bt); } else { - Value *box = emit_allocobj(ctx, nb, boxed(ctx, bt_value)); + Value *box = emit_allocobj(ctx, nb, bt_value_rt); init_bits_value(ctx, box, vx, ctx.tbaa().tbaa_immut); return mark_julia_type(ctx, box, true, bt->name->wrapper); } @@ -627,7 +632,9 @@ static jl_cgval_t generic_cast( return mark_julia_type(ctx, ans, false, jlto); } else { - Value *box = emit_allocobj(ctx, nb, boxed(ctx, targ)); + Value *targ_rt = boxed(ctx, targ); + emit_concretecheck(ctx, targ_rt, std::string(jl_intrinsic_name(f)) + ": target type not a leaf primitive type"); + Value *box = emit_allocobj(ctx, nb, targ_rt); init_bits_value(ctx, box, ans, ctx.tbaa().tbaa_immut); return mark_julia_type(ctx, box, true, jlto->name->wrapper); } diff --git a/src/runtime_intrinsics.c b/src/runtime_intrinsics.c index 40ba036edebfd..a170c81c609cf 100644 --- a/src/runtime_intrinsics.c +++ b/src/runtime_intrinsics.c @@ -717,7 +717,7 @@ SELECTOR_FUNC(intrinsic_1) #define un_iintrinsic(name, u) \ JL_DLLEXPORT jl_value_t *jl_##name(jl_value_t *a) \ { \ - return jl_iintrinsic_1(jl_typeof(a), a, #name, u##signbitbyte, jl_intrinsiclambda_ty1, name##_list); \ + return jl_iintrinsic_1(a, #name, u##signbitbyte, jl_intrinsiclambda_ty1, name##_list); \ } #define un_iintrinsic_fast(LLVMOP, OP, name, u) \ un_iintrinsic_ctype(OP, name, 8, u##int##8_t) \ @@ -743,7 +743,7 @@ SELECTOR_FUNC(intrinsic_u1) #define uu_iintrinsic(name, u) \ JL_DLLEXPORT jl_value_t *jl_##name(jl_value_t *a) \ { \ - return jl_iintrinsic_1(jl_typeof(a), a, #name, u##signbitbyte, jl_intrinsiclambda_u1, name##_list); \ + return jl_iintrinsic_1(a, #name, u##signbitbyte, jl_intrinsiclambda_u1, name##_list); \ } #define uu_iintrinsic_fast(LLVMOP, OP, name, u) \ uu_iintrinsic_ctype(OP, name, 8, u##int##8_t) \ @@ -765,14 +765,13 @@ static const select_intrinsic_u1_t name##_list = { \ uu_iintrinsic(name, u) static inline -jl_value_t *jl_iintrinsic_1(jl_value_t *ty, jl_value_t *a, const char *name, +jl_value_t *jl_iintrinsic_1(jl_value_t *a, const char *name, char (*getsign)(void*, unsigned), jl_value_t *(*lambda1)(jl_value_t*, void*, unsigned, unsigned, const void*), const void *list) { - if (!jl_is_primitivetype(jl_typeof(a))) - jl_errorf("%s: value is not a primitive type", name); + jl_value_t *ty = jl_typeof(a); if (!jl_is_primitivetype(ty)) - jl_errorf("%s: type is not a primitive type", name); + jl_errorf("%s: value is not a primitive type", name); void *pa = jl_data_ptr(a); unsigned isize = jl_datatype_size(jl_typeof(a)); unsigned isize2 = next_power_of_two(isize); @@ -833,11 +832,12 @@ JL_DLLEXPORT jl_value_t *jl_##name(jl_value_t *ty, jl_value_t *a) \ static inline jl_value_t *jl_intrinsic_cvt(jl_value_t *ty, jl_value_t *a, const char *name, intrinsic_cvt_t op) { + JL_TYPECHKS(name, datatype, ty); + if (!jl_is_concrete_type(ty) || !jl_is_primitivetype(ty)) + jl_errorf("%s: target type not a leaf primitive type", name); jl_value_t *aty = jl_typeof(a); if (!jl_is_primitivetype(aty)) jl_errorf("%s: value is not a primitive type", name); - if (!jl_is_primitivetype(ty)) - jl_errorf("%s: type is not a primitive type", name); void *pa = jl_data_ptr(a); unsigned isize = jl_datatype_size(aty); unsigned osize = jl_datatype_size(ty); From ba9c79743e4391372f37011e62f17d696bf957c8 Mon Sep 17 00:00:00 2001 From: KristofferC Date: Wed, 5 Apr 2023 11:19:09 +0200 Subject: [PATCH 08/30] Revert "delay loading of extensions as much as possible (#48674)" This reverts commit e3043a875d432ec4bd7c073874a654b55421438f. (cherry picked from commit bf379e2a2fefa029defb5468765d6761ca18196b) --- base/loading.jl | 87 +++++++++++++++++++++++-------------------------- 1 file changed, 40 insertions(+), 47 deletions(-) diff --git a/base/loading.jl b/base/loading.jl index 342358b05f28b..8d428b421d238 100644 --- a/base/loading.jl +++ b/base/loading.jl @@ -1080,6 +1080,7 @@ function register_restored_modules(sv::SimpleVector, pkg::PkgId, path::String) end function run_package_callbacks(modkey::PkgId) + run_extension_callbacks(modkey) assert_havelock(require_lock) unlock(require_lock) try @@ -1204,55 +1205,51 @@ function run_extension_callbacks(extid::ExtensionId) return succeeded end -function run_extension_callbacks() +function run_extension_callbacks(pkgid::PkgId) assert_havelock(require_lock) - loaded_triggers = collect(intersect(keys(Base.loaded_modules), keys(Base.EXT_DORMITORY))) - sort!(loaded_triggers; by=x->x.uuid) - for pkgid in loaded_triggers - # take ownership of extids that depend on this pkgid - extids = pop!(EXT_DORMITORY, pkgid, nothing) - extids === nothing && continue - for extid in extids - if extid.ntriggers > 0 - # It is possible that pkgid was loaded in an environment - # below the one of the parent. This will cause a load failure when the - # pkg ext tries to load the triggers. Therefore, check this first - # before loading the pkg ext. - pkgenv = Base.identify_package_env(extid.id, pkgid.name) - ext_not_allowed_load = false - if pkgenv === nothing + # take ownership of extids that depend on this pkgid + extids = pop!(EXT_DORMITORY, pkgid, nothing) + extids === nothing && return + for extid in extids + if extid.ntriggers > 0 + # It is possible that pkgid was loaded in an environment + # below the one of the parent. This will cause a load failure when the + # pkg ext tries to load the triggers. Therefore, check this first + # before loading the pkg ext. + pkgenv = identify_package_env(extid.id, pkgid.name) + ext_not_allowed_load = false + if pkgenv === nothing + ext_not_allowed_load = true + else + pkg, env = pkgenv + path = locate_package(pkg, env) + if path === nothing ext_not_allowed_load = true - else - pkg, env = pkgenv - path = Base.locate_package(pkg, env) - if path === nothing - ext_not_allowed_load = true - end - end - if ext_not_allowed_load - @debug "Extension $(extid.id.name) of $(extid.parentid.name) will not be loaded \ - since $(pkgid.name) loaded in environment lower in load path" - # indicate extid is expected to fail - extid.ntriggers *= -1 - else - # indicate pkgid is loaded - extid.ntriggers -= 1 end end - if extid.ntriggers < 0 - # indicate pkgid is loaded - extid.ntriggers += 1 - succeeded = false + if ext_not_allowed_load + @debug "Extension $(extid.id.name) of $(extid.parentid.name) will not be loaded \ + since $(pkgid.name) loaded in environment lower in load path" + # indicate extid is expected to fail + extid.ntriggers *= -1 else - succeeded = true - end - if extid.ntriggers == 0 - # actually load extid, now that all dependencies are met, - # and record the result - succeeded = succeeded && run_extension_callbacks(extid) - succeeded || push!(EXT_DORMITORY_FAILED, extid) + # indicate pkgid is loaded + extid.ntriggers -= 1 end end + if extid.ntriggers < 0 + # indicate pkgid is loaded + extid.ntriggers += 1 + succeeded = false + else + succeeded = true + end + if extid.ntriggers == 0 + # actually load extid, now that all dependencies are met, + # and record the result + succeeded = succeeded && run_extension_callbacks(extid) + succeeded || push!(EXT_DORMITORY_FAILED, extid) + end end return end @@ -1276,7 +1273,7 @@ function retry_load_extensions() end prepend!(EXT_DORMITORY_FAILED, failed) end - nothing + return end """ @@ -1631,10 +1628,6 @@ function _require_prelocked(uuidkey::PkgId, env=nothing) else newm = root_module(uuidkey) end - # Load extensions when not precompiling and not in a nested package load - if JLOptions().incremental == 0 && isempty(package_locks) - run_extension_callbacks() - end return newm end From b82c5dbd01b444b69d1592b84286ebe9fed86d0b Mon Sep 17 00:00:00 2001 From: Kristoffer Date: Sun, 9 Apr 2023 17:07:54 +0200 Subject: [PATCH 09/30] add a test that extension is available during precompilation (cherry picked from commit aa16ceac581d5a94e82496cc66c2600f7c31dd80) --- .../HasDepWithExtensions.jl/src/HasDepWithExtensions.jl | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/test/project/Extensions/HasDepWithExtensions.jl/src/HasDepWithExtensions.jl b/test/project/Extensions/HasDepWithExtensions.jl/src/HasDepWithExtensions.jl index d64cbc680e3a5..5c1f2d1f301aa 100644 --- a/test/project/Extensions/HasDepWithExtensions.jl/src/HasDepWithExtensions.jl +++ b/test/project/Extensions/HasDepWithExtensions.jl/src/HasDepWithExtensions.jl @@ -4,10 +4,18 @@ using HasExtensions: HasExtensions, HasExtensionsStruct using ExtDep: ExtDepStruct # Loading ExtDep makes the extension "Extension" load +const m = Base.get_extension(HasExtensions, :Extension) +m isa Module || error("extension not loaded during precompilation") + function do_something() HasExtensions.foo(HasExtensionsStruct()) == 1 || error() HasExtensions.foo(ExtDepStruct()) == 2 || error() return true end +function __init__() + m = Base.get_extension(HasExtensions, :Extension) + m isa Module || error("extension not loaded during __init__") +end + end # module From 0d28812dc16fec8d1050cc7ecc2e9bec35727a81 Mon Sep 17 00:00:00 2001 From: Tanmay Mohapatra Date: Mon, 10 Apr 2023 01:06:52 +0530 Subject: [PATCH 10/30] fix new scope assignment warning in Distributed (#49303) Disambiguate scope of the `wp` variable inside `try`-`catch` in distributed tests by qualifying it and suppress the warning reported in the tests. fixes #49289 (cherry picked from commit 4ccaa1b595885a219c51cb2be56a00347928795f) --- stdlib/Distributed/test/distributed_exec.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/Distributed/test/distributed_exec.jl b/stdlib/Distributed/test/distributed_exec.jl index b596f5fb51988..69026fc8b1910 100644 --- a/stdlib/Distributed/test/distributed_exec.jl +++ b/stdlib/Distributed/test/distributed_exec.jl @@ -678,7 +678,7 @@ clear!(wp) # default_worker_pool! tests wp_default = Distributed.default_worker_pool() try - wp = CachingPool(workers()) + local wp = CachingPool(workers()) Distributed.default_worker_pool!(wp) @test [1:100...] == pmap(x->x, wp, 1:100) @test !isempty(wp.map_obj2ref) From 4498251a054451b5b17d376cbd937bf67a21c166 Mon Sep 17 00:00:00 2001 From: Elliot Saba Date: Mon, 10 Apr 2023 11:54:34 -0700 Subject: [PATCH 11/30] Bump to LBT v5.7.0 (#49281) This release of libblastrampoline contains two new features: ILP64 Accelerate support, and LAPACK_jll support. (cherry picked from commit 4ced71adf75060fb1f5a6f6dc930b30ab1fb8833) --- deps/blastrampoline.version | 6 +-- deps/checksums/blastrampoline | 64 +++++++++++------------ stdlib/LinearAlgebra/src/lbt.jl | 10 +++- stdlib/libblastrampoline_jll/Project.toml | 4 +- 4 files changed, 45 insertions(+), 39 deletions(-) diff --git a/deps/blastrampoline.version b/deps/blastrampoline.version index 2ab10915a73a1..faf2ecd0229c1 100644 --- a/deps/blastrampoline.version +++ b/deps/blastrampoline.version @@ -2,6 +2,6 @@ BLASTRAMPOLINE_JLL_NAME := libblastrampoline ## source build -BLASTRAMPOLINE_VER := 5.4.0 -BLASTRAMPOLINE_BRANCH=v5.4.0 -BLASTRAMPOLINE_SHA1=d00e6ca235bb747faae4c9f3a297016cae6959ed +BLASTRAMPOLINE_VER := 5.7.0 +BLASTRAMPOLINE_BRANCH=v5.7.0 +BLASTRAMPOLINE_SHA1=2272604bfb10b9e8a3ae5f1a4569899b99251a65 diff --git a/deps/checksums/blastrampoline b/deps/checksums/blastrampoline index 786085c82769f..38cb44236eb87 100644 --- a/deps/checksums/blastrampoline +++ b/deps/checksums/blastrampoline @@ -1,34 +1,34 @@ blastrampoline-d00e6ca235bb747faae4c9f3a297016cae6959ed.tar.gz/md5/b49ebb89b7f9a1eaf85217c4a9dac744 blastrampoline-d00e6ca235bb747faae4c9f3a297016cae6959ed.tar.gz/sha512/ac3a767fdb03cc0a9e12ae6df31229e6c5050f2b7ccaee47ef14d6bef34b37a20c2d79956b73bf74d72af1f01a3d1316931db264e1b00cb6cadd57fb842e6f2f -libblastrampoline.v5.4.0+0.aarch64-apple-darwin.tar.gz/md5/9c084085ecf2f263164ab3557db634b7 -libblastrampoline.v5.4.0+0.aarch64-apple-darwin.tar.gz/sha512/c8233325dc71582efe43a741c7e8348e853e02d77cc1296261abf12027008e1b79ec369575638c775944ae4ce9cc9d5d999e0994b2b2c7ceccd956f1c49d8f75 -libblastrampoline.v5.4.0+0.aarch64-linux-gnu.tar.gz/md5/6bdce10e27dfcd219d6bd212ade361dd -libblastrampoline.v5.4.0+0.aarch64-linux-gnu.tar.gz/sha512/003a5afbc5f92ec5da518fc33f819b6c063946f75aac347775582266138a0cbf22839e0f4f5b13909185e8a2643d51db434d0d325d2898980386d8c24acfd8e7 -libblastrampoline.v5.4.0+0.aarch64-linux-musl.tar.gz/md5/048ff56f538d56f5cc2ba72c751a1bfc -libblastrampoline.v5.4.0+0.aarch64-linux-musl.tar.gz/sha512/0fdef61ee05c77722e661c522341531eeb3882e76ae2ce1add53fea813a19b70f1cd50a75643c3324aade594dfd7f5b269f43be58e4ef3f560340f9fe95cdd11 -libblastrampoline.v5.4.0+0.armv6l-linux-gnueabihf.tar.gz/md5/332f6857be4f7840bbb03a78fe5b50d4 -libblastrampoline.v5.4.0+0.armv6l-linux-gnueabihf.tar.gz/sha512/228a9b5fe1ef57c0ac4d3130de8bce184baac702c9df02fa4706558c23973ec8396db39d0d0125638bd330065527c6fe1c205e3a095b401c27900c21e941d1c3 -libblastrampoline.v5.4.0+0.armv6l-linux-musleabihf.tar.gz/md5/5f7008ccf0155c164bf8eec5a184be1d -libblastrampoline.v5.4.0+0.armv6l-linux-musleabihf.tar.gz/sha512/0395ea3aec6ba4f4e3ce56e152a7d3db78b937a8bee603ed84143c3f35b76453ec3650c733ffd79a3b59424f5196218b33a45939ea176e8666cf4d44593e35be -libblastrampoline.v5.4.0+0.armv7l-linux-gnueabihf.tar.gz/md5/f184171d5ce4fa9238e11478f54ad6c9 -libblastrampoline.v5.4.0+0.armv7l-linux-gnueabihf.tar.gz/sha512/3e4406f2bb09dfa17b926a83246c45107bfd72776f3d22320985c3f2c58cdab78c674d759e74bd2725e04c7e78263acfc47879598db7181660145a88af5e11af -libblastrampoline.v5.4.0+0.armv7l-linux-musleabihf.tar.gz/md5/c6996b382b042c87f714866bb1d2ce37 -libblastrampoline.v5.4.0+0.armv7l-linux-musleabihf.tar.gz/sha512/e5c69979743f228ed61931b5e1f8130c832f925a155f04de751ae817c1865d759999bfcfd0d2646ee192de3dba0a8d25626f70be7abd83d4a07c11988c6fd57c -libblastrampoline.v5.4.0+0.i686-linux-gnu.tar.gz/md5/155937c2f2e9650654d93210e82e5b9e -libblastrampoline.v5.4.0+0.i686-linux-gnu.tar.gz/sha512/e7e33da75b5076ac7fbdf1f882cc77244b861f5265bcb4f7aec28e578ed5af00d08f40513fa17dd62d15e7e911a948047b45f32e31f062eb4ef07bee4ce02010 -libblastrampoline.v5.4.0+0.i686-linux-musl.tar.gz/md5/206d874fbc0a9590390c5476edfc877d -libblastrampoline.v5.4.0+0.i686-linux-musl.tar.gz/sha512/6f6dd3468f788d717b0ee58b189172950892a84e7379379863ea9d5b316901084fcaa325b8fe7c472d16f08552aa5ab89ccafefa30c05a362ffb44330f1ec383 -libblastrampoline.v5.4.0+0.i686-w64-mingw32.tar.gz/md5/9adc6d8cd38f9151feb13b21a28aeb7b -libblastrampoline.v5.4.0+0.i686-w64-mingw32.tar.gz/sha512/13f7a6f14b0dc7db29591d6d9bbd3e41e72b4a079105987540d3393203ed487ebce32d21569c3724df29332006fc32d915e54055f99ecc74829717ca11bcafdf -libblastrampoline.v5.4.0+0.powerpc64le-linux-gnu.tar.gz/md5/e9dfb0f5a0e564231a75b3fc8a44bc91 -libblastrampoline.v5.4.0+0.powerpc64le-linux-gnu.tar.gz/sha512/fb4c1f953728acf6db4a6a2e93bc5ed8242285cd3112ba1921432bef045b03a375813c34c0d071d19508c226669774afe640acd7d85b10de5176d864eee5f73c -libblastrampoline.v5.4.0+0.x86_64-apple-darwin.tar.gz/md5/c092da8bc56af60cbd4afe5565c471c5 -libblastrampoline.v5.4.0+0.x86_64-apple-darwin.tar.gz/sha512/3fe0aafcdc51c5f2414f889a4f0970b0e302f4d1f37b36bedd094202ae9b7ea760607ca4f80aa815ca2346f526202ef932cd7d3f43522fc4a823c3db6b41604d -libblastrampoline.v5.4.0+0.x86_64-linux-gnu.tar.gz/md5/e05d2295208649a55620681241f9a6fc -libblastrampoline.v5.4.0+0.x86_64-linux-gnu.tar.gz/sha512/2bde6e6b80eb80dd78967dcf6d946b2397b3129b7c6de6fbab2168c23293770ad3d2bbc269c403ee26ea6d752b91eee87e1c651bd7f451f62a8a2acd68196db7 -libblastrampoline.v5.4.0+0.x86_64-linux-musl.tar.gz/md5/4b374750eb2d42a55a39d28cdee70d6b -libblastrampoline.v5.4.0+0.x86_64-linux-musl.tar.gz/sha512/314d877497462d521fafc92299f1e387a03193c20050da529f3e3d02da9f55063f45883377288750d7b8cc64d8701c94db79798a7ef298a73051cd51f21104be -libblastrampoline.v5.4.0+0.x86_64-unknown-freebsd.tar.gz/md5/b5549fb2b1ed82ab95b0636a1eb7682e -libblastrampoline.v5.4.0+0.x86_64-unknown-freebsd.tar.gz/sha512/b94975cef6c1ea26e7635bc70e51a4c53ad1c4610322d0c15841ccfb7e996c8e55b5f060a5ab318d6dda4cfdb615d9c77848cb13bd71c03df8c90c6ac717ff0e -libblastrampoline.v5.4.0+0.x86_64-w64-mingw32.tar.gz/md5/00bd607714c91a2cbc5e2a2f87e6d5e1 -libblastrampoline.v5.4.0+0.x86_64-w64-mingw32.tar.gz/sha512/e75a3780f65963e6a6baf68af57d7260b57052770d6ac3608971134b449d33d02a0be6f0edd0cddae1645ccb0faf6c744ecc3ff40cf7bcfed8acbf05f756013c +libblastrampoline.v5.7.0+0.aarch64-apple-darwin.tar.gz/md5/a28837b9838fef2b3831de3278ec7949 +libblastrampoline.v5.7.0+0.aarch64-apple-darwin.tar.gz/sha512/111ac2fe5f8f8102f2f7c9e9e6aa1d1a12d2db941238c949ff8e64b30335e8b2f6ecce0d5f577879c231eb839c06e259302b709f3d34e94a97047bfa984222f6 +libblastrampoline.v5.7.0+0.aarch64-linux-gnu.tar.gz/md5/3792c0a4443c0e2ebe88bea180a3beb1 +libblastrampoline.v5.7.0+0.aarch64-linux-gnu.tar.gz/sha512/d5ce0f9bb47f80d04e13bf90e48d6ab942cf7fd79b582f1496a83a1eca0db29e01315efa52bcb1099466a9037926a7a2cf3135395ac1322544cd7150b9687d7b +libblastrampoline.v5.7.0+0.aarch64-linux-musl.tar.gz/md5/45622c514e744282f996bacc26ca231b +libblastrampoline.v5.7.0+0.aarch64-linux-musl.tar.gz/sha512/790f7cf4d5f11be246c617694a7d617435627229f52c52ee49037c3650707ac1c0d8631b713d5b32ac76f97b19b18eacc1645fd0aecc296167439bfbb0514b5c +libblastrampoline.v5.7.0+0.armv6l-linux-gnueabihf.tar.gz/md5/f945fe9ee8472db8fe27409b7c028a57 +libblastrampoline.v5.7.0+0.armv6l-linux-gnueabihf.tar.gz/sha512/96876374813acc9ae249ef3c7140e1e0eac9259a0b5c567e11843a17a9d5db4fe759e873d0e2c1dd944e9f9104b885a09cd8977634eaa7c24e580d391f23b75f +libblastrampoline.v5.7.0+0.armv6l-linux-musleabihf.tar.gz/md5/902b8ae755be3087002969377b0332d8 +libblastrampoline.v5.7.0+0.armv6l-linux-musleabihf.tar.gz/sha512/bda692349136d1b540e00458ba9ed689e762e9acdc60d0cc59203cefcdcc59611f3883f5050bf9186019003be726f3d798138dcf5929a64a4d1fab314c84e7a4 +libblastrampoline.v5.7.0+0.armv7l-linux-gnueabihf.tar.gz/md5/95058aaed39a095b6f50b04b335b1ff6 +libblastrampoline.v5.7.0+0.armv7l-linux-gnueabihf.tar.gz/sha512/bb963ac3d9fd57e656e33177c01ae6cd0cfbe63826f79cd3ae04c38641c5a82fe9cae29a38f1a725ca11d93dd143aeb6a5213f26ceedb622f9ebb5c156b9ceac +libblastrampoline.v5.7.0+0.armv7l-linux-musleabihf.tar.gz/md5/f66178bcb8e159e7b022c54a917cd895 +libblastrampoline.v5.7.0+0.armv7l-linux-musleabihf.tar.gz/sha512/c92b0fe3e3f486d2f559d5f34fdcf59bf4db764b28dc1146a2559f236de48057832ba1b766d69bd5ffe91f6b0d13238e6ee3eb70d4508947b3235672cba60d6f +libblastrampoline.v5.7.0+0.i686-linux-gnu.tar.gz/md5/33bb177a7928a80ef888b51ff39eb724 +libblastrampoline.v5.7.0+0.i686-linux-gnu.tar.gz/sha512/c63c1511213ca89a540db2b7e8cbfae52e6433292b59a7f652ed28f2ad01603ece480ab3c3bb8860598def5c3a994dd0132fc0bf7f070efd458e7e9bbebb1118 +libblastrampoline.v5.7.0+0.i686-linux-musl.tar.gz/md5/65472af1f7b69695470c65eea92e237d +libblastrampoline.v5.7.0+0.i686-linux-musl.tar.gz/sha512/6e16059c68e19447aa6b37854ce7200ae7c7ecd4f016c5fcd120d4ad960377bd4b86ace7470277b785b61d68a915b5476568d876ea510b50a8bb7146a33ee431 +libblastrampoline.v5.7.0+0.i686-w64-mingw32.tar.gz/md5/0a945591dda93017836cdcc87095863a +libblastrampoline.v5.7.0+0.i686-w64-mingw32.tar.gz/sha512/26376cefbe8891907a2f6ee506edc9cb95289df52eaad3ac39135eade5486879da5733019d437dcfba6c286007a29a43b2aabdcc436db893910f6b2730517f12 +libblastrampoline.v5.7.0+0.powerpc64le-linux-gnu.tar.gz/md5/2d29aff294807c0b857adee62dbce7f5 +libblastrampoline.v5.7.0+0.powerpc64le-linux-gnu.tar.gz/sha512/414cc2971bbc7e635b7d1d68aa545ff23568dd7722b8fdd990439c0c55e4dc63420afaf191633fbcf54205fc11edb01fa7d5d4a712b8951775dcdd500f135231 +libblastrampoline.v5.7.0+0.x86_64-apple-darwin.tar.gz/md5/21beb51d448bd22e4608a16b3f4fde05 +libblastrampoline.v5.7.0+0.x86_64-apple-darwin.tar.gz/sha512/620ba64d93ef416e483f813617aa313957282d8361f920b5444702fa911ff0051d1f8a8814b5fa0b082fd4dc77d96cb8b763937c786959bbc97cbb6131617152 +libblastrampoline.v5.7.0+0.x86_64-linux-gnu.tar.gz/md5/43a9eb58e79131d9a8594a42c5b15c5f +libblastrampoline.v5.7.0+0.x86_64-linux-gnu.tar.gz/sha512/5b8dddd742a7742eef14025a859251d605b34a61de3e07ff696c168a88462602c35c5b3680da072e28a8bedc89df5b5ae622be61a5b0203000f9439558d423d9 +libblastrampoline.v5.7.0+0.x86_64-linux-musl.tar.gz/md5/5790c157871d03fcb8c14063303bfcf8 +libblastrampoline.v5.7.0+0.x86_64-linux-musl.tar.gz/sha512/8f82de757b66559cdcd8127946b50c1c5b479149966d53881bdae7c7b536a7c79a1b331d04425aeb57d47fabeb2946985edab23cc94e049240e1925320f03795 +libblastrampoline.v5.7.0+0.x86_64-unknown-freebsd.tar.gz/md5/bb676e6bc64ed1be85f95443e4366eca +libblastrampoline.v5.7.0+0.x86_64-unknown-freebsd.tar.gz/sha512/77ba2fb295f2765cd64ca7d00ee92230c467e056b1441eea63470dcb3491481174956b7058950a7fc2d7dad4b245283dca907b2dea96c8fe1b0e27e4375c0be4 +libblastrampoline.v5.7.0+0.x86_64-w64-mingw32.tar.gz/md5/58ab9512505a6b3eb2f7f2f2bf9a55cf +libblastrampoline.v5.7.0+0.x86_64-w64-mingw32.tar.gz/sha512/a58a7be8ef3ea958591c1cc9d9192efa08bb2aeb0de4cbd1e3f23ea57aa2b8f6048ab4db6bce4f9724a9f81f0e0356e66b884763ead5b309cb38bab9ea475e7f diff --git a/stdlib/LinearAlgebra/src/lbt.jl b/stdlib/LinearAlgebra/src/lbt.jl index 515de0b5a7a94..059c8eea1814e 100644 --- a/stdlib/LinearAlgebra/src/lbt.jl +++ b/stdlib/LinearAlgebra/src/lbt.jl @@ -83,11 +83,17 @@ struct lbt_config_t exported_symbols::Ptr{Cstring} num_exported_symbols::UInt32 end -const LBT_BUILDFLAGS_DEEPBINDLESS = 0x01 -const LBT_BUILDFLAGS_F2C_CAPABLE = 0x02 +const LBT_BUILDFLAGS_DEEPBINDLESS = 0x01 +const LBT_BUILDFLAGS_F2C_CAPABLE = 0x02 +const LBT_BUILDFLAGS_CBLAS_DIVERGENCE = 0x04 +const LBT_BUILDFLAGS_COMPLEX_RETSTYLE = 0x08 +const LBT_BUILDFLAGS_SYMBOL_TRIMMING = 0x10 const LBT_BUILDFLAGS_MAP = Dict( LBT_BUILDFLAGS_DEEPBINDLESS => :deepbindless, LBT_BUILDFLAGS_F2C_CAPABLE => :f2c_capable, + LBT_BUILDFLAGS_CBLAS_DIVERGENCE => :cblas_divergence, + LBT_BUILDFLAGS_COMPLEX_RETSTYLE => :complex_retstyle, + LBT_BUILDFLAGS_SYMBOL_TRIMMING => :symbol_trimming, ) struct LBTConfig diff --git a/stdlib/libblastrampoline_jll/Project.toml b/stdlib/libblastrampoline_jll/Project.toml index 08ba2e266512d..42d49010019c3 100644 --- a/stdlib/libblastrampoline_jll/Project.toml +++ b/stdlib/libblastrampoline_jll/Project.toml @@ -1,13 +1,13 @@ name = "libblastrampoline_jll" uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.4.0+0" +version = "5.7.0+0" [deps] Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb" Artifacts = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" [compat] -julia = "1.8" +julia = "1.10" [extras] Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" From a05bb0f56816144d6cf762e2e7086d36b2082734 Mon Sep 17 00:00:00 2001 From: Elliot Saba Date: Tue, 21 Feb 2023 18:28:20 +0000 Subject: [PATCH 12/30] Resolve artifact ambiguities using shortest match This changes the behavior of `select_platform()` to resolve ambiguities using a two-step process. Previously, we would simply sort the resultant triplets and return the last one (so as to provide asemi- arbitrary stability, and also to prefer higher version numbers over lower version numbers in tags). However, with the proliferation of tags (and especially the new `sanitize=memory` tags) we need a way to exclude these "extra" tags when our `HostPlatform()` does not have them. This new matching algorithm excludes candidates from matching with the platform if there are other candidates with fewer total tags. This results in a "simplest match first" behavior, which better represents the intent of tags in the first place. (cherry picked from commit 99938fc8c569cbdb0614c9ef503f2bbbc027c00b) --- base/binaryplatforms.jl | 20 ++++++++++++++------ test/binaryplatforms.jl | 17 ++++++++++++++--- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/base/binaryplatforms.jl b/base/binaryplatforms.jl index 272c5958bdb0c..4393396685c63 100644 --- a/base/binaryplatforms.jl +++ b/base/binaryplatforms.jl @@ -1066,12 +1066,20 @@ function select_platform(download_info::Dict, platform::AbstractPlatform = HostP return nothing end - # At this point, we may have multiple possibilities. E.g. if, in the future, - # Julia can be built without a direct dependency on libgfortran, we may match - # multiple tarballs that vary only within their libgfortran ABI. To narrow it - # down, we just sort by triplet, then pick the last one. This has the effect - # of generally choosing the latest release (e.g. a `libgfortran5` tarball - # rather than a `libgfortran3` tarball) + # At this point, we may have multiple possibilities. We now engage a multi- + # stage selection algorithm, where we first choose simpler matches over more + # complex matches. We define a simpler match as one that has fewer tags + # overall. As these candidate matches have already been filtered to match + # the given platform, the only other tags that exist are ones that are in + # addition to the tags declared by the platform. Hence, selecting the + # minimum in number of tags is equivalent to selecting the closest match. + min_tag_count = minimum(length(tags(p)) for p in ps) + filter!(p -> length(tags(p)) == min_tag_count, ps) + + # Now we _still_ may continue to have multiple matches, so we now simply sort + # the candidate matches by their triplets and take the last one, so as to + # generally choose the latest release (e.g. a `libgfortran5` tarball over a + # `libgfortran3` tarball). p = last(sort(ps, by = p -> triplet(p))) return download_info[p] end diff --git a/test/binaryplatforms.jl b/test/binaryplatforms.jl index 793a9b1f06a41..54154f492168f 100644 --- a/test/binaryplatforms.jl +++ b/test/binaryplatforms.jl @@ -315,8 +315,9 @@ end P("x86_64", "linux"; libgfortran_version=v"5") => "linux8", # Ambiguity test - P("aarch64", "linux"; libgfortran_version=v"3") => "linux4", + P("aarch64", "linux"; libgfortran_version=v"3") => "linux3", P("aarch64", "linux"; libgfortran_version=v"3", libstdcxx_version=v"3.4.18") => "linux5", + P("aarch64", "linux"; libgfortran_version=v"3", libstdcxx_version=v"3.4.18", foo="bar") => "linux9", # OS test P("x86_64", "macos"; libgfortran_version=v"3") => "mac4", @@ -327,8 +328,10 @@ end @test select_platform(platforms, P("x86_64", "linux"; libgfortran_version=v"4")) == "linux7" # Ambiguity test - @test select_platform(platforms, P("aarch64", "linux")) == "linux5" - @test select_platform(platforms, P("aarch64", "linux"; libgfortran_version=v"3")) == "linux5" + @test select_platform(platforms, P("aarch64", "linux")) == "linux3" + @test select_platform(platforms, P("aarch64", "linux"; libgfortran_version=v"3")) == "linux3" + # This one may be surprising, but we still match `linux3`, and since linux3 is shorter, we choose it. + @test select_platform(platforms, P("aarch64", "linux"; libgfortran_version=v"3", libstdcxx_version=v"3.4.18")) === "linux3" @test select_platform(platforms, P("aarch64", "linux"; libgfortran_version=v"4")) === nothing @test select_platform(platforms, P("x86_64", "macos")) == "mac4" @@ -339,6 +342,14 @@ end # Sorry, Alex. ;) @test select_platform(platforms, P("x86_64", "freebsd")) === nothing + + # The new "prefer shortest matching" algorithm is meant to be used to resolve ambiguities such as the following: + platforms = Dict( + # Typical binning test + P("x86_64", "linux") => "good", + P("x86_64", "linux"; sanitize="memory") => "bad", + ) + @test select_platform(platforms, P("x86_64", "linux")) == "good" end @testset "Custom comparators" begin From be1c71d693e486a3d3ae84e92b733b0aff165957 Mon Sep 17 00:00:00 2001 From: Jeff Bezanson Date: Thu, 13 Apr 2023 09:04:06 -0400 Subject: [PATCH 13/30] make thread 1 interactive when there is an interactive pool, so it can run the event loop (#49094) (cherry picked from commit 9ed4087f7f515f76a71164e292b013043b862053) --- base/task.jl | 4 +-- base/threadingconstructs.jl | 58 +++++++++++++++++++++++++++---------- src/threading.c | 11 +++---- test/threadpool_use.jl | 6 ++-- 4 files changed, 53 insertions(+), 26 deletions(-) diff --git a/base/task.jl b/base/task.jl index 63d0e9b6bd757..6896f44a0d95a 100644 --- a/base/task.jl +++ b/base/task.jl @@ -253,7 +253,7 @@ istaskfailed(t::Task) = (load_state_acquire(t) === task_state_failed) Threads.threadid(t::Task) = Int(ccall(:jl_get_task_tid, Int16, (Any,), t)+1) function Threads.threadpool(t::Task) tpid = ccall(:jl_get_task_threadpoolid, Int8, (Any,), t) - return tpid == 0 ? :default : :interactive + return Threads._tpid_to_sym(tpid) end task_result(t::Task) = t.result @@ -786,7 +786,7 @@ function enq_work(t::Task) if Threads.threadpoolsize(tp) == 1 # There's only one thread in the task's assigned thread pool; # use its work queue. - tid = (tp === :default) ? 1 : Threads.threadpoolsize(:default)+1 + tid = (tp === :interactive) ? 1 : Threads.threadpoolsize(:interactive)+1 ccall(:jl_set_task_tid, Cint, (Any, Cint), t, tid-1) push!(workqueue_for(tid), t) else diff --git a/base/threadingconstructs.jl b/base/threadingconstructs.jl index ff7b0278d8eba..6cc538c4b2ec4 100644 --- a/base/threadingconstructs.jl +++ b/base/threadingconstructs.jl @@ -39,6 +39,14 @@ function _nthreads_in_pool(tpid::Int8) return Int(unsafe_load(p, tpid + 1)) end +function _tpid_to_sym(tpid::Int8) + return tpid == 0 ? :interactive : :default +end + +function _sym_to_tpid(tp::Symbol) + return tp === :interactive ? Int8(0) : Int8(1) +end + """ Threads.threadpool(tid = threadid()) -> Symbol @@ -46,7 +54,7 @@ Returns the specified thread's threadpool; either `:default` or `:interactive`. """ function threadpool(tid = threadid()) tpid = ccall(:jl_threadpoolid, Int8, (Int16,), tid-1) - return tpid == 0 ? :default : :interactive + return _tpid_to_sym(tpid) end """ @@ -67,24 +75,39 @@ See also: `BLAS.get_num_threads` and `BLAS.set_num_threads` in the [`Distributed`](@ref man-distributed) standard library. """ function threadpoolsize(pool::Symbol = :default) - if pool === :default - tpid = Int8(0) - elseif pool === :interactive - tpid = Int8(1) + if pool === :default || pool === :interactive + tpid = _sym_to_tpid(pool) else error("invalid threadpool specified") end return _nthreads_in_pool(tpid) end +""" + threadpooltids(pool::Symbol) + +Returns a vector of IDs of threads in the given pool. +""" +function threadpooltids(pool::Symbol) + ni = _nthreads_in_pool(Int8(0)) + if pool === :interactive + return collect(1:ni) + elseif pool === :default + return collect(ni+1:ni+_nthreads_in_pool(Int8(1))) + else + error("invalid threadpool specified") + end +end + function threading_run(fun, static) ccall(:jl_enter_threaded_region, Cvoid, ()) n = threadpoolsize() + tid_offset = threadpoolsize(:interactive) tasks = Vector{Task}(undef, n) for i = 1:n t = Task(() -> fun(i)) # pass in tid t.sticky = static - static && ccall(:jl_set_task_tid, Cint, (Any, Cint), t, i-1) + static && ccall(:jl_set_task_tid, Cint, (Any, Cint), t, tid_offset + i-1) tasks[i] = t schedule(t) end @@ -287,6 +310,15 @@ macro threads(args...) return _threadsfor(ex.args[1], ex.args[2], sched) end +function _spawn_set_thrpool(t::Task, tp::Symbol) + tpid = _sym_to_tpid(tp) + if _nthreads_in_pool(tpid) == 0 + tpid = _sym_to_tpid(:default) + end + ccall(:jl_set_task_threadpoolid, Cint, (Any, Int8), t, tpid) + nothing +end + """ Threads.@spawn [:default|:interactive] expr @@ -315,7 +347,7 @@ the variable's value in the current task. A threadpool may be specified as of Julia 1.9. """ macro spawn(args...) - tpid = Int8(0) + tp = :default na = length(args) if na == 2 ttype, ex = args @@ -325,9 +357,9 @@ macro spawn(args...) # TODO: allow unquoted symbols ttype = nothing end - if ttype === :interactive - tpid = Int8(1) - elseif ttype !== :default + if ttype === :interactive || ttype === :default + tp = ttype + else throw(ArgumentError("unsupported threadpool in @spawn: $ttype")) end elseif na == 1 @@ -344,11 +376,7 @@ macro spawn(args...) let $(letargs...) local task = Task($thunk) task.sticky = false - local tpid_actual = $tpid - if _nthreads_in_pool(tpid_actual) == 0 - tpid_actual = Int8(0) - end - ccall(:jl_set_task_threadpoolid, Cint, (Any, Int8), task, tpid_actual) + _spawn_set_thrpool(task, $(QuoteNode(tp))) if $(Expr(:islocal, var)) put!($var, task) end diff --git a/src/threading.c b/src/threading.c index c5fc10020e084..f81924ab9f063 100644 --- a/src/threading.c +++ b/src/threading.c @@ -567,17 +567,16 @@ void jl_init_threading(void) // specified on the command line (and so are in `jl_options`) or by the // environment variable. Set the globals `jl_n_threadpools`, `jl_n_threads` // and `jl_n_threads_per_pool`. - jl_n_threadpools = 1; + jl_n_threadpools = 2; int16_t nthreads = JULIA_NUM_THREADS; int16_t nthreadsi = 0; char *endptr, *endptri; if (jl_options.nthreads != 0) { // --threads specified - jl_n_threadpools = jl_options.nthreadpools; nthreads = jl_options.nthreads_per_pool[0]; if (nthreads < 0) nthreads = jl_effective_threads(); - if (jl_n_threadpools == 2) + if (jl_options.nthreadpools == 2) nthreadsi = jl_options.nthreads_per_pool[1]; } else if ((cp = getenv(NUM_THREADS_NAME))) { // ENV[NUM_THREADS_NAME] specified @@ -602,15 +601,13 @@ void jl_init_threading(void) if (errno != 0 || endptri == cp || nthreadsi < 0) nthreadsi = 0; } - if (nthreadsi > 0) - jl_n_threadpools++; } } jl_all_tls_states_size = nthreads + nthreadsi; jl_n_threads_per_pool = (int*)malloc_s(2 * sizeof(int)); - jl_n_threads_per_pool[0] = nthreads; - jl_n_threads_per_pool[1] = nthreadsi; + jl_n_threads_per_pool[0] = nthreadsi; + jl_n_threads_per_pool[1] = nthreads; jl_atomic_store_release(&jl_all_tls_states, (jl_ptls_t*)calloc(jl_all_tls_states_size, sizeof(jl_ptls_t))); jl_atomic_store_release(&jl_n_threads, jl_all_tls_states_size); diff --git a/test/threadpool_use.jl b/test/threadpool_use.jl index 64227c8a8110b..e5ea5f95cf4ff 100644 --- a/test/threadpool_use.jl +++ b/test/threadpool_use.jl @@ -4,8 +4,10 @@ using Test using Base.Threads @test nthreadpools() == 2 -@test threadpool() === :default -@test threadpool(2) === :interactive +@test threadpool() === :interactive +@test threadpool(2) === :default @test fetch(Threads.@spawn Threads.threadpool()) === :default @test fetch(Threads.@spawn :default Threads.threadpool()) === :default @test fetch(Threads.@spawn :interactive Threads.threadpool()) === :interactive +@test Threads.threadpooltids(:interactive) == [1] +@test Threads.threadpooltids(:default) == [2] From eb764ccbdd0f4eabd8866d318844bcee95a787a2 Mon Sep 17 00:00:00 2001 From: N5N3 <2642243996@qq.com> Date: Wed, 8 Feb 2023 12:31:29 +0800 Subject: [PATCH 14/30] Merge pull request #48534 from N5N3/Test2 Subtype: skip more identical check for `X::Tuple <: Y::Tuple` (cherry picked from commit e3dfcc3a1c690a595006fb2e50cef8a89cc0dded) --- src/clangsa/GCChecker.cpp | 12 +---------- src/subtype.c | 34 +++++++----------------------- src/support/analyzer_annotations.h | 2 -- test/subtype.jl | 3 +++ 4 files changed, 12 insertions(+), 39 deletions(-) diff --git a/src/clangsa/GCChecker.cpp b/src/clangsa/GCChecker.cpp index 513e6db606eb8..e2f72ea7a935b 100644 --- a/src/clangsa/GCChecker.cpp +++ b/src/clangsa/GCChecker.cpp @@ -181,15 +181,6 @@ class GCChecker } return f(TD->getName()); } - static bool isValueCollection(QualType QT) { - if (QT->isPointerType() || QT->isArrayType()) - return isValueCollection( - clang::QualType(QT->getPointeeOrArrayElementType(), 0)); - const TagDecl *TD = QT->getUnqualifiedDesugaredType()->getAsTagDecl(); - if (!TD) - return false; - return declHasAnnotation(TD, "julia_rooted_value_collection"); - } template static SymbolRef walkToRoot(callback f, const ProgramStateRef &State, const MemRegion *Region); @@ -710,8 +701,7 @@ bool GCChecker::isFDAnnotatedNotSafepoint(const clang::FunctionDecl *FD) { #endif bool GCChecker::isGCTrackedType(QualType QT) { - return isValueCollection(QT) || - isJuliaType( + return isJuliaType( [](StringRef Name) { if (Name.endswith_lower("jl_value_t") || Name.endswith_lower("jl_svec_t") || diff --git a/src/subtype.c b/src/subtype.c index fa6e63381ad40..23f19d2a88825 100644 --- a/src/subtype.c +++ b/src/subtype.c @@ -905,17 +905,6 @@ static int check_vararg_length(jl_value_t *v, ssize_t n, jl_stenv_t *e) static int forall_exists_equal(jl_value_t *x, jl_value_t *y, jl_stenv_t *e); -struct subtype_tuple_env { - jl_datatype_t *xd, *yd; - jl_value_t *lastx, *lasty; - size_t lx, ly; - size_t i, j; - int vx, vy; - jl_value_t *vtx; - jl_value_t *vty; - jl_vararg_kind_t vvx, vvy; -} JL_ROOTED_VALUE_COLLECTION; - static int subtype_tuple_varargs( jl_vararg_t *vtx, jl_vararg_t *vty, size_t vx, size_t vy, @@ -1029,7 +1018,7 @@ static int subtype_tuple_tail(jl_datatype_t *xd, jl_datatype_t *yd, int8_t R, jl { size_t lx = jl_nparams(xd); size_t ly = jl_nparams(yd); - size_t i = 0, j = 0, vx = 0, vy = 0, x_reps = 0; + size_t i = 0, j = 0, vx = 0, vy = 0, x_reps = 1; jl_value_t *lastx = NULL, *lasty = NULL; jl_value_t *xi = NULL, *yi = NULL; @@ -1079,21 +1068,17 @@ static int subtype_tuple_tail(jl_datatype_t *xd, jl_datatype_t *yd, int8_t R, jl return !!vx; xi = vx ? jl_unwrap_vararg(xi) : xi; - int x_same = lastx && jl_egal(xi, lastx); - if (vy) { - yi = jl_unwrap_vararg(yi); - // keep track of number of consecutive identical types compared to Vararg - if (x_same) - x_reps++; - else - x_reps = 1; - } + yi = vy ? jl_unwrap_vararg(yi) : yi; + int x_same = vx > 1 || (lastx && obviously_egal(xi, lastx)); + int y_same = vy > 1 || (lasty && obviously_egal(yi, lasty)); + // keep track of number of consecutive identical subtyping + x_reps = y_same && x_same ? x_reps + 1 : 1; if (x_reps > 2) { - // an identical type on the left doesn't need to be compared to a Vararg + // an identical type on the left doesn't need to be compared to the same // element type on the right more than twice. } else if (x_same && e->Runions.depth == 0 && - ((yi == lasty && !jl_has_free_typevars(xi) && !jl_has_free_typevars(yi)) || + ((y_same && !jl_has_free_typevars(xi) && !jl_has_free_typevars(yi)) || (yi == lastx && !vx && vy && jl_is_concrete_type(xi)))) { // fast path for repeated elements } @@ -2940,9 +2925,6 @@ static jl_value_t *intersect_tuple(jl_datatype_t *xd, jl_datatype_t *yd, jl_sten (yb && jl_is_long(yb->lb) && ly-1+jl_unbox_long(yb->lb) != len)) { res = jl_bottom_type; } - else if (param == 2 && jl_is_unionall(xi) != jl_is_unionall(yi)) { - res = jl_bottom_type; - } else { if (xb) set_var_to_const(xb, jl_box_long(len-lx+1), yb); if (yb) set_var_to_const(yb, jl_box_long(len-ly+1), xb); diff --git a/src/support/analyzer_annotations.h b/src/support/analyzer_annotations.h index 70b5a273953f1..0eb4890ea5dc8 100644 --- a/src/support/analyzer_annotations.h +++ b/src/support/analyzer_annotations.h @@ -20,7 +20,6 @@ #define JL_ALWAYS_LEAFTYPE JL_GLOBALLY_ROOTED #define JL_ROOTS_TEMPORARILY __attribute__((annotate("julia_temporarily_roots"))) #define JL_REQUIRE_ROOTED_SLOT __attribute__((annotate("julia_require_rooted_slot"))) -#define JL_ROOTED_VALUE_COLLECTION __attribute__((annotate("julia_rooted_value_collection"))) #ifdef __cplusplus extern "C" { #endif @@ -42,7 +41,6 @@ extern "C" { #define JL_ALWAYS_LEAFTYPE #define JL_ROOTS_TEMPORARILY #define JL_REQUIRE_ROOTED_SLOT -#define JL_ROOTED_VALUE_COLLECTION #define JL_GC_PROMISE_ROOTED(x) (void)(x) #define jl_may_leak(x) (void)(x) diff --git a/test/subtype.jl b/test/subtype.jl index 3a46abb3348da..4573c49f3663d 100644 --- a/test/subtype.jl +++ b/test/subtype.jl @@ -2314,6 +2314,9 @@ end @test !(Tuple{Any, Any, Any} <: Tuple{Any, Vararg{T}} where T) +# issue #39967 +@test (NTuple{27, T} where {S, T<:Union{Array, Array{S}}}) <: Tuple{Array, Array, Vararg{AbstractArray, 25}} + let a = (isodd(i) ? Pair{Char, String} : Pair{String, String} for i in 1:2000) @test Tuple{Type{Pair{Union{Char, String}, String}}, a...} <: Tuple{Type{Pair{K, V}}, Vararg{Pair{A, B} where B where A}} where V where K end From 9aa766900f3dbf10843717543e033d86ab5a1c93 Mon Sep 17 00:00:00 2001 From: Elliot Saba Date: Tue, 11 Apr 2023 19:25:44 -0700 Subject: [PATCH 15/30] Merge pull request #48809 from ven-k/vkb/imageing-default Fix imaging value for generating sysimages for multiple targets (cherry picked from commit fc4b079f6985de0e01c153d030e246f1a6332be2) --- src/jitlayers.h | 2 +- test/cmdlineargs.jl | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/jitlayers.h b/src/jitlayers.h index 810a992317359..312d366f659b7 100644 --- a/src/jitlayers.h +++ b/src/jitlayers.h @@ -72,7 +72,7 @@ GlobalVariable *jl_emit_RTLD_DEFAULT_var(Module *M); DataLayout jl_create_datalayout(TargetMachine &TM); static inline bool imaging_default() { - return jl_options.image_codegen || (jl_generating_output() && jl_options.use_pkgimages); + return jl_options.image_codegen || (jl_generating_output() && (!jl_options.incremental || jl_options.use_pkgimages)); } struct OptimizationOptions { diff --git a/test/cmdlineargs.jl b/test/cmdlineargs.jl index e5e5135f674bf..7f86534f923b3 100644 --- a/test/cmdlineargs.jl +++ b/test/cmdlineargs.jl @@ -652,6 +652,37 @@ let exename = `$(Base.julia_cmd()) --startup-file=no --color=no` end end +# Object file with multiple cpu targets +@testset "Object file for multiple microarchitectures" begin + julia_path = joinpath(Sys.BINDIR, Base.julia_exename()) + outputo_file = tempname() + write(outputo_file, "1") + object_file = tempname() * ".o" + + # This is to test that even with `pkgimages=no`, we can create object file + # with multiple cpu-targets + # The cmd is checked for `--object-o` as soon as it is run. So, to avoid long + # testing times, intentionally don't pass `--sysimage`; when we reach the + # corresponding error, we know that `check_cmdline` has already passed + let v = readchomperrors(`$julia_path + --cpu-target='native;native' + --output-o=$object_file $outputo_file + --pkgimages=no`) + + @test v[1] == false + @test v[2] == "" + @test !contains(v[3], "More than one command line CPU targets specified") + @test v[3] == "ERROR: File \"boot.jl\" not found" + end + + # This is to test that with `pkgimages=yes`, multiple CPU targets are parsed. + # We intentionally fail fast due to a lack of an `--output-o` flag. + let v = readchomperrors(`$julia_path --cpu-target='native;native' --pkgimages=yes`) + @test v[1] == false + @test v[2] == "" + @test contains(v[3], "More than one command line CPU targets specified") + end +end # Find the path of libjulia (or libjulia-debug, as the case may be) # to use as a dummy shlib to open From f7d8e209f196c2de906b066132e880de61c1e067 Mon Sep 17 00:00:00 2001 From: Kristoffer Date: Thu, 13 Apr 2023 16:14:42 +0200 Subject: [PATCH 16/30] bump SparseArrays to latest v1.9 --- .../md5 | 1 - .../sha512 | 1 - .../md5 | 1 + .../sha512 | 1 + stdlib/SparseArrays.version | 2 +- 5 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 deps/checksums/SparseArrays-311b4b4130d9f28a6b5eb55cb7c818e4f7858719.tar.gz/md5 delete mode 100644 deps/checksums/SparseArrays-311b4b4130d9f28a6b5eb55cb7c818e4f7858719.tar.gz/sha512 create mode 100644 deps/checksums/SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz/md5 create mode 100644 deps/checksums/SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz/sha512 diff --git a/deps/checksums/SparseArrays-311b4b4130d9f28a6b5eb55cb7c818e4f7858719.tar.gz/md5 b/deps/checksums/SparseArrays-311b4b4130d9f28a6b5eb55cb7c818e4f7858719.tar.gz/md5 deleted file mode 100644 index d0045196ae71d..0000000000000 --- a/deps/checksums/SparseArrays-311b4b4130d9f28a6b5eb55cb7c818e4f7858719.tar.gz/md5 +++ /dev/null @@ -1 +0,0 @@ -87c15983360c6167f3e47dca72b5d1b9 diff --git a/deps/checksums/SparseArrays-311b4b4130d9f28a6b5eb55cb7c818e4f7858719.tar.gz/sha512 b/deps/checksums/SparseArrays-311b4b4130d9f28a6b5eb55cb7c818e4f7858719.tar.gz/sha512 deleted file mode 100644 index 5d819a8364999..0000000000000 --- a/deps/checksums/SparseArrays-311b4b4130d9f28a6b5eb55cb7c818e4f7858719.tar.gz/sha512 +++ /dev/null @@ -1 +0,0 @@ -9c08116308495a485a600ff31b07fe1e55d2986494ee4a03708dad43c1897df5243a406f0fd9abcaaeebdc28a0f966cb807c0ff6efa3b3dd96e9c1977988f96f diff --git a/deps/checksums/SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz/md5 b/deps/checksums/SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz/md5 new file mode 100644 index 0000000000000..cc400e74ce9c4 --- /dev/null +++ b/deps/checksums/SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz/md5 @@ -0,0 +1 @@ +802ed9b50cbb4839c95aeb41199dcb8b diff --git a/deps/checksums/SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz/sha512 b/deps/checksums/SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz/sha512 new file mode 100644 index 0000000000000..8d9be9e7e7a32 --- /dev/null +++ b/deps/checksums/SparseArrays-37e6e58706a54c5a1b96a17cda7d3e8be8bcb190.tar.gz/sha512 @@ -0,0 +1 @@ +68de5180ebc39b1a587409daf90c04eaaa251ca7fb8f8f6938cd95f1f74e8df9960bc3ede493ff40294f742ec77afba34c65f17207867cc18a4df806cf6a0452 diff --git a/stdlib/SparseArrays.version b/stdlib/SparseArrays.version index 0bc6587c6a0ee..5eba9e124a653 100644 --- a/stdlib/SparseArrays.version +++ b/stdlib/SparseArrays.version @@ -1,4 +1,4 @@ SPARSEARRAYS_BRANCH = main -SPARSEARRAYS_SHA1 = 311b4b4130d9f28a6b5eb55cb7c818e4f7858719 +SPARSEARRAYS_SHA1 = 37e6e58706a54c5a1b96a17cda7d3e8be8bcb190 SPARSEARRAYS_GIT_URL := https://github.com/JuliaSparse/SparseArrays.jl.git SPARSEARRAYS_TAR_URL = https://api.github.com/repos/JuliaSparse/SparseArrays.jl/tarball/$1 From 6d03913a2f448e67758a2763628d5336ef7f49c3 Mon Sep 17 00:00:00 2001 From: N5N3 <2642243996@qq.com> Date: Fri, 14 Apr 2023 07:28:06 +0800 Subject: [PATCH 17/30] Subtype: fix union estimation on non-type parameters. (#49345) (cherry picked from commit fdd71c79f3442ada3e0f4e9ff3e5d629054e5a25) --- src/subtype.c | 2 +- test/subtype.jl | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/subtype.c b/src/subtype.c index 23f19d2a88825..e07ea73d6158d 100644 --- a/src/subtype.c +++ b/src/subtype.c @@ -1365,7 +1365,7 @@ static int may_contain_union_decision(jl_value_t *x, jl_stenv_t *e, jl_typeenv_t return 0; } if (!jl_is_typevar(x)) - return 1; + return jl_is_type(x); jl_typeenv_t *t = log; while (t != NULL) { if (x == (jl_value_t *)t->var) diff --git a/test/subtype.jl b/test/subtype.jl index 4573c49f3663d..5e2e9acc6db81 100644 --- a/test/subtype.jl +++ b/test/subtype.jl @@ -2317,8 +2317,11 @@ end # issue #39967 @test (NTuple{27, T} where {S, T<:Union{Array, Array{S}}}) <: Tuple{Array, Array, Vararg{AbstractArray, 25}} -let a = (isodd(i) ? Pair{Char, String} : Pair{String, String} for i in 1:2000) +let + a = (isodd(i) ? Pair{Char, String} : Pair{String, String} for i in 1:2000) @test Tuple{Type{Pair{Union{Char, String}, String}}, a...} <: Tuple{Type{Pair{K, V}}, Vararg{Pair{A, B} where B where A}} where V where K + a = (isodd(i) ? Matrix{Int} : Vector{Int} for i in 1:4000) + @test Tuple{Type{Pair{Union{Char, String}, String}}, a...,} <: Tuple{Type{Pair{K, V}}, Vararg{Array}} where V where K end #issue 48582 From 3ece193210d95f222d810cfef18a768f9421819e Mon Sep 17 00:00:00 2001 From: Yuto Horikawa Date: Fri, 14 Apr 2023 14:55:31 +0900 Subject: [PATCH 18/30] Rename `ipython_mode` to `numbered_prompt` (#49314) Co-authored-by: Jeff Bezanson Co-authored-by: Kristoffer Carlsson (cherry picked from commit 99c0dad3a3deec4a5d0a5f57661ad7bca26c5ceb) --- NEWS.md | 4 ++-- stdlib/REPL/docs/src/index.md | 9 +++++---- stdlib/REPL/src/REPL.jl | 7 ++++--- stdlib/REPL/test/repl.jl | 4 ++-- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/NEWS.md b/NEWS.md index a059c693dba03..8cd0b59e75839 100644 --- a/NEWS.md +++ b/NEWS.md @@ -139,8 +139,8 @@ Standard library changes * The contextual module which is active in the REPL can be changed (it is `Main` by default), via the `REPL.activate(::Module)` function or via typing the module in the REPL and pressing the keybinding Alt-m ([#33872]). -* An "IPython mode" which mimics the behaviour of the prompts and storing the evaluated result in `Out` can be - activated with `REPL.ipython_mode!()`. See the manual for how to enable this at startup ([#46474]). +* A "numbered prompt" mode which prints numbers for each input and output and stores evaluated results in `Out` can be + activated with `REPL.numbered_prompt!()`. See the manual for how to enable this at startup ([#46474]). * Tab completion displays available keyword arguments ([#43536]). #### SuiteSparse diff --git a/stdlib/REPL/docs/src/index.md b/stdlib/REPL/docs/src/index.md index a23b8f224a6cb..8e9e19228ea3d 100644 --- a/stdlib/REPL/docs/src/index.md +++ b/stdlib/REPL/docs/src/index.md @@ -617,19 +617,20 @@ julia> REPL.activate(CustomMod) var 8 bytes Int64 ``` -## IPython mode +## Numbered prompt + +It is possible to get an interface which is similar to the IPython REPL and the Mathematica notebook with numbered input prompts and output prefixes. This is done by calling `REPL.numbered_prompt!()`. If you want to have this enabled on startup, add -It is possible to get an interface which is similar to the IPython REPL with numbered input prompts and output prefixes. This is done by calling `REPL.ipython_mode!()`. If you want to have this enabled on startup, add ```julia atreplinit() do repl if !isdefined(repl, :interface) repl.interface = REPL.setup_interface(repl) end - REPL.ipython_mode!(repl) + REPL.numbered_prompt!(repl) end ``` -to your `startup.jl` file. In `IPython` mode the variable `Out[n]` (where `n` is an integer) can be used to refer to earlier results: +to your `startup.jl` file. In numbered prompt the variable `Out[n]` (where `n` is an integer) can be used to refer to earlier results: ```julia-repl In [1]: 5 + 3 diff --git a/stdlib/REPL/src/REPL.jl b/stdlib/REPL/src/REPL.jl index ef0ad50e74c52..08e6f3fbbb025 100644 --- a/stdlib/REPL/src/REPL.jl +++ b/stdlib/REPL/src/REPL.jl @@ -1399,7 +1399,7 @@ function run_frontend(repl::StreamREPL, backend::REPLBackendRef) nothing end -module IPython +module Numbered using ..REPL @@ -1469,15 +1469,16 @@ function __current_ast_transforms(backend) end -function ipython_mode!(repl::LineEditREPL=Base.active_repl, backend=nothing) +function numbered_prompt!(repl::LineEditREPL=Base.active_repl, backend=nothing) n = Ref{Int}(0) set_prompt(repl, n) set_output_prefix(repl, n) push!(__current_ast_transforms(backend), @nospecialize(ast) -> out_transform(ast, n)) return end + end -import .IPython.ipython_mode! +import .Numbered.numbered_prompt! end # module diff --git a/stdlib/REPL/test/repl.jl b/stdlib/REPL/test/repl.jl index 2cac474326679..6049f2214bc4f 100644 --- a/stdlib/REPL/test/repl.jl +++ b/stdlib/REPL/test/repl.jl @@ -1600,7 +1600,7 @@ fake_repl() do stdin_write, stdout_read, repl @test buffercontents(LineEdit.buffer(s)) == "1234αβ56γ" end -# Non standard output_prefix, tested via `ipython_mode!` +# Non standard output_prefix, tested via `numbered_prompt!` fake_repl() do stdin_write, stdout_read, repl repl.interface = REPL.setup_interface(repl) @@ -1609,7 +1609,7 @@ fake_repl() do stdin_write, stdout_read, repl REPL.run_repl(repl; backend) end - REPL.ipython_mode!(repl, backend) + REPL.numbered_prompt!(repl, backend) global c = Base.Event(true) function sendrepl2(cmd, txt) From 304037b894315f6cec198cb3e9cee68e1aefc08c Mon Sep 17 00:00:00 2001 From: Shuhei Kadowaki <40514306+aviatesk@users.noreply.github.com> Date: Sat, 19 Nov 2022 09:56:02 +0900 Subject: [PATCH 19/30] InteractiveUtils: use quoted `typesof` in macroexpansion (#47626) fix #47606 (cherry picked from commit 553047f99f488c33316b1da849598f1b676685e0) --- stdlib/InteractiveUtils/src/macros.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stdlib/InteractiveUtils/src/macros.jl b/stdlib/InteractiveUtils/src/macros.jl index 3a7509f90a43b..9c2200db0245d 100644 --- a/stdlib/InteractiveUtils/src/macros.jl +++ b/stdlib/InteractiveUtils/src/macros.jl @@ -57,7 +57,7 @@ function gen_call_with_extracted_types(__module__, fcn, ex0, kws=Expr[]) dotfuncdef = Expr(:local, Expr(:(=), Expr(:call, dotfuncname, xargs...), ex)) return quote $(esc(dotfuncdef)) - local args = typesof($(map(esc, args)...)) + local args = $typesof($(map(esc, args)...)) $(fcn)($(esc(dotfuncname)), args; $(kws...)) end elseif !codemacro @@ -81,7 +81,7 @@ function gen_call_with_extracted_types(__module__, fcn, ex0, kws=Expr[]) :(error("expression is not a function call")) end) else - local args = typesof($(map(esc, ex0.args)...)) + local args = $typesof($(map(esc, ex0.args)...)) $(fcn)(Base.getproperty, args) end end From b05b958168927706fc42b4f5311ff6b06ed4e514 Mon Sep 17 00:00:00 2001 From: DilumAluthgeBot <43731525+DilumAluthgeBot@users.noreply.github.com> Date: Mon, 17 Apr 2023 08:53:50 -0400 Subject: [PATCH 20/30] Bump the Pkg stdlib from 1b73599d2 to 3ca88658d (#49347) Co-authored-by: Dilum Aluthge --- .../Pkg-1b73599d2ed8ef26ded339b1a3e80b6f26afd553.tar.gz/md5 | 1 - .../Pkg-1b73599d2ed8ef26ded339b1a3e80b6f26afd553.tar.gz/sha512 | 1 - .../Pkg-3ca88658d2bc23d877cc5829cdab2aa4dfdae564.tar.gz/md5 | 1 + .../Pkg-3ca88658d2bc23d877cc5829cdab2aa4dfdae564.tar.gz/sha512 | 1 + stdlib/Pkg.version | 2 +- 5 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 deps/checksums/Pkg-1b73599d2ed8ef26ded339b1a3e80b6f26afd553.tar.gz/md5 delete mode 100644 deps/checksums/Pkg-1b73599d2ed8ef26ded339b1a3e80b6f26afd553.tar.gz/sha512 create mode 100644 deps/checksums/Pkg-3ca88658d2bc23d877cc5829cdab2aa4dfdae564.tar.gz/md5 create mode 100644 deps/checksums/Pkg-3ca88658d2bc23d877cc5829cdab2aa4dfdae564.tar.gz/sha512 diff --git a/deps/checksums/Pkg-1b73599d2ed8ef26ded339b1a3e80b6f26afd553.tar.gz/md5 b/deps/checksums/Pkg-1b73599d2ed8ef26ded339b1a3e80b6f26afd553.tar.gz/md5 deleted file mode 100644 index 7f9cf58dbc425..0000000000000 --- a/deps/checksums/Pkg-1b73599d2ed8ef26ded339b1a3e80b6f26afd553.tar.gz/md5 +++ /dev/null @@ -1 +0,0 @@ -82e01a597e35e2f3f53a04ddc2776a8c diff --git a/deps/checksums/Pkg-1b73599d2ed8ef26ded339b1a3e80b6f26afd553.tar.gz/sha512 b/deps/checksums/Pkg-1b73599d2ed8ef26ded339b1a3e80b6f26afd553.tar.gz/sha512 deleted file mode 100644 index cfcfad9f002dc..0000000000000 --- a/deps/checksums/Pkg-1b73599d2ed8ef26ded339b1a3e80b6f26afd553.tar.gz/sha512 +++ /dev/null @@ -1 +0,0 @@ -7a1179bed5c0b1fdc2f8e826ca89ae33713b24d5fa065d9ced1bb78386d9bad876ffe486e11400c3d67946ff77d58bdddf1309892c4a4f662c07b9ad243ae76a diff --git a/deps/checksums/Pkg-3ca88658d2bc23d877cc5829cdab2aa4dfdae564.tar.gz/md5 b/deps/checksums/Pkg-3ca88658d2bc23d877cc5829cdab2aa4dfdae564.tar.gz/md5 new file mode 100644 index 0000000000000..b44f2085978fc --- /dev/null +++ b/deps/checksums/Pkg-3ca88658d2bc23d877cc5829cdab2aa4dfdae564.tar.gz/md5 @@ -0,0 +1 @@ +22c8f1b80f9123b66a53ac3b8e193e8b diff --git a/deps/checksums/Pkg-3ca88658d2bc23d877cc5829cdab2aa4dfdae564.tar.gz/sha512 b/deps/checksums/Pkg-3ca88658d2bc23d877cc5829cdab2aa4dfdae564.tar.gz/sha512 new file mode 100644 index 0000000000000..e100fcd8db0e9 --- /dev/null +++ b/deps/checksums/Pkg-3ca88658d2bc23d877cc5829cdab2aa4dfdae564.tar.gz/sha512 @@ -0,0 +1 @@ +8b39baf6fac1426f3872c4abfeaba3ed8a5e8c005e7957003a928562088dcd22298f420b18d482936b9909678e3b88e2ec8c25456615277dd732d6ef799e4f24 diff --git a/stdlib/Pkg.version b/stdlib/Pkg.version index eec85ee1bae84..601753a0a04e2 100644 --- a/stdlib/Pkg.version +++ b/stdlib/Pkg.version @@ -1,4 +1,4 @@ PKG_BRANCH = release-1.9 -PKG_SHA1 = 1b73599d2ed8ef26ded339b1a3e80b6f26afd553 +PKG_SHA1 = 3ca88658d2bc23d877cc5829cdab2aa4dfdae564 PKG_GIT_URL := https://github.com/JuliaLang/Pkg.jl.git PKG_TAR_URL = https://api.github.com/repos/JuliaLang/Pkg.jl/tarball/$1 From 00334655d2c46da4693d41a0d69fa9a089a71df4 Mon Sep 17 00:00:00 2001 From: Valentin Churavy Date: Mon, 17 Apr 2023 10:33:08 -0400 Subject: [PATCH 21/30] Bump LLVM to 14.0.6-3 (cherry picked from commit 74a52cf49aa6305e30f322a9c67ed6a5b75527d8) --- deps/checksums/clang | 232 ++++++++-------- deps/checksums/llvm | 468 ++++++++++++++++---------------- deps/clang.version | 2 +- deps/llvm-tools.version | 4 +- deps/llvm.version | 4 +- stdlib/libLLVM_jll/Project.toml | 2 +- 6 files changed, 356 insertions(+), 356 deletions(-) diff --git a/deps/checksums/clang b/deps/checksums/clang index 6dd3cc5c84cea..5fecc08fe523e 100644 --- a/deps/checksums/clang +++ b/deps/checksums/clang @@ -1,116 +1,116 @@ -Clang.v14.0.6+2.aarch64-apple-darwin-llvm_version+14.asserts.tar.gz/md5/d7af710da0dfe4a19bd0742499226f8a -Clang.v14.0.6+2.aarch64-apple-darwin-llvm_version+14.asserts.tar.gz/sha512/b69deeff9169e58986ced189f5947d7de00872ee1d5301de381fba6b71237119ff431762e2f530bc37fee5d640178e2184d0c9f9c6a9b5a5896c210a405f5cc9 -Clang.v14.0.6+2.aarch64-apple-darwin-llvm_version+14.tar.gz/md5/b559523937532f608380ea0ef077e5ed -Clang.v14.0.6+2.aarch64-apple-darwin-llvm_version+14.tar.gz/sha512/20f37272327b938d1fcb77538023d88fa799c8863db9a1348cb1e8ff883a8b50474e6496f9730139a1d6ce199b4e17ddbf7e1deba448a7303bae2efffd18d889 -Clang.v14.0.6+2.aarch64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/f59591c24225c687863d8878068d5d4b -Clang.v14.0.6+2.aarch64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/e1970c15dcad8e8a30d4f300ef597c12f4c953cfb656582dd4d75324a2d17bbf6500de288f80c53add9e6b148b3153abb9f331305ba176deb83504e59fab5c7a -Clang.v14.0.6+2.aarch64-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/8ee3ba6f2f5c6cbda9515fb3528a6267 -Clang.v14.0.6+2.aarch64-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/cae04df5b65aaf0f8413f0dcb150e29c276c2e7d60c071f41db1dd35c8c0a0c5d36441e6aaf9c8b32079442ce79a48379b72d86a6d1d2b59af6d9a2744ecc8d6 -Clang.v14.0.6+2.aarch64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/f1cc3d1a27058db2427d6c1b7e762200 -Clang.v14.0.6+2.aarch64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/5d63f84dd7d119fb2f5cd6e51a16e87557a8b54d2a1f733100e4ff296af496913c84c0c3a77c9f81cb27cf5d23e3ea72ea5be0d6cdb02bb4c3d65182bbc4a84a -Clang.v14.0.6+2.aarch64-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/6b4203de35b0ce42c7fd5990e0a7dbbc -Clang.v14.0.6+2.aarch64-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/261242b7ef98203e1cb0a77c3d56b87252c4647bda5229f08d586634ebf217613e434f0010fd088ac3a08e4393fc838a1c26573eb8549bb6bb6e14a0cdfaed26 -Clang.v14.0.6+2.aarch64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/md5/c1b0ab693bf840be628469afd62131d0 -Clang.v14.0.6+2.aarch64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/sha512/ddea198aa6e465ef77e542b7ce4b614e9d08fde32095fc21d85125c7312944f13ce84a9d24ad8fa22caef995c1c70965342a6bb9336297ec305795e9bc457ba4 -Clang.v14.0.6+2.aarch64-linux-musl-cxx03-llvm_version+14.tar.gz/md5/dde818c965da13154b438f9a4c7bac2a -Clang.v14.0.6+2.aarch64-linux-musl-cxx03-llvm_version+14.tar.gz/sha512/d11097c997851e3d4e396abd4e4e0c1cac867a50bde661ada7e4e7fac160de30bf15aeb0e3c38651d7c4e6d8f03eb649e2447a81f2ca0a6d4114bea89692e9ee -Clang.v14.0.6+2.aarch64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/md5/0437f8c3983b6762beba43c7f089199c -Clang.v14.0.6+2.aarch64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/sha512/9bf004c4f21c2215505dfbd1fbca8d886d1fad87ce897cf9e982a0b8f10112cd0d080132aa2b575b5ad1ab681f1eaf8da7ddf026bb2e42d1b1a5a3d2a253f71f -Clang.v14.0.6+2.aarch64-linux-musl-cxx11-llvm_version+14.tar.gz/md5/684b5c8b283ab5a341603350cb4c815b -Clang.v14.0.6+2.aarch64-linux-musl-cxx11-llvm_version+14.tar.gz/sha512/ee0f147da7dcb6bdde1a0c1929b46b442cd01e010cfdcc6f9d3c344f684ae3018faba3d88b46486b3d76ae1f456ba7e34ae15bb4a9432c0ad61eaf03045e2730 -Clang.v14.0.6+2.armv6l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/72c1d2de0b4628685067787fe81fd9ae -Clang.v14.0.6+2.armv6l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/c18086fa874240574d4084977831e13779e44b2690e810a662e2c9361413f6cfb74bc5aa9718c5b64370f9a797df7544c211ae7089c7323024c2973b6bb016f2 -Clang.v14.0.6+2.armv6l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/md5/bdd3524a04ca1606ceedc990c828e7c8 -Clang.v14.0.6+2.armv6l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/sha512/93d2e22962993a032b9b589bd43a635eafb374b5cf3aabf28aaecb6a6617ea6684ac754f121889610b49efbc2cf18e4d25639a6fe80f5522a9b94ba6f4caaced -Clang.v14.0.6+2.armv6l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/36958bf224b804c2effe335f8057b404 -Clang.v14.0.6+2.armv6l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/8e7720e7d650a100152219731d92e22152bb58ed9a890c0bbf75aea089bbff80efd53f8f80cfc146457e0def0e4b58bc10997d22aa285c06c3de83b5bc9212b8 -Clang.v14.0.6+2.armv6l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/md5/f4ca31683aa1445ecf0fb2166280f8ae -Clang.v14.0.6+2.armv6l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/sha512/1469ea69e864c77fa0df209d3db5c777c92baea7ed3473aff6c865e399aa3237883eda2d419bb224aac20db2cf43adf40bb0d1d3e53699968b7c5494bff40041 -Clang.v14.0.6+2.armv6l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/b6f7cd04f2442dc76b198d85bd419bf4 -Clang.v14.0.6+2.armv6l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/518aeb631b70ee0abec23bd79d9943b92ae3db61704533a6abfce75ebeccfe5a4b447a178afe9c331299e0c6d077eebda30ee67d93cdf98dacef62fe69587d46 -Clang.v14.0.6+2.armv6l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/md5/e1bc81bf1fe6f27c60ca8c98948d26e3 -Clang.v14.0.6+2.armv6l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/sha512/8e7768abc0cc97f12580ee5f461868f55c8a4cafa274cb726c7da2fe20513f06d7d299e70b14a3aa290ca7d52d76a9a7a36271785e24379f9aaf8caf0b79cff1 -Clang.v14.0.6+2.armv6l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/443d936081749e8ff98c45391caf743c -Clang.v14.0.6+2.armv6l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/bfa78eeb3673c265a4c279547b015e9f3ea752d823e1b29e78315d5534b574d6aeaa2c25e5dfda0057b853546912ef56f8cce2a33c5ca400fc3f2fa278c1a9e0 -Clang.v14.0.6+2.armv6l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/md5/5424303660411ca2ef318aff90688a35 -Clang.v14.0.6+2.armv6l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/sha512/06a5e3b8c3dcd28c9baf41b821b05e546b2c2c3e3351437a81c5b88bbc4098bc2cf2001fbd040c6afbcae1bc1764384204c5be787e5cc719a7247857110a0366 -Clang.v14.0.6+2.armv7l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/be1f870fc8298be34187262768a35a1d -Clang.v14.0.6+2.armv7l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/34069aa66c1016e14edc075ecf7ebe7e885a7aa611b809d7251c658d6c0f833f4b04898b6000a7612524959f35536744c1445b8e03e447601f6b8050ab8e0948 -Clang.v14.0.6+2.armv7l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/md5/c40fa2e3499d476f6840cad60deb5562 -Clang.v14.0.6+2.armv7l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/sha512/297287ff1ef0d38a15361c8c653109caaa8baeb5964c75f033e76176ef5594b5cdf8b2c380ad8f270618d1e73f2a4c67aa6d4f9c971d837f5bb12402863d3258 -Clang.v14.0.6+2.armv7l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/010417352411a80c93d9538bf7adf7b5 -Clang.v14.0.6+2.armv7l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/60cc639eda70230ca41c63621b08ce00a9460d406c9dc626cdb7d24561fdd2f93cd593cd040694c4c0d4e98bcf5f2b514001a88f19d9a69943632c6f5ad0bd24 -Clang.v14.0.6+2.armv7l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/md5/6a3ccd40a6487d2e0b4ccff250dc412c -Clang.v14.0.6+2.armv7l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/sha512/69443b2da14aee04f4d4772b65776c2e96b7e114f11ac055c38c01f56015e32c35940c0ee42eb216e405f9980178986551eaabe6f02fa2e27fddd7ae073f8830 -Clang.v14.0.6+2.armv7l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/3a4210ad734ea531f97c94ca1e8a76ed -Clang.v14.0.6+2.armv7l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/fa116c6a227c319facb466fc068df7e1802bbe21fc2267b6075f9aeb519d0306b4193381b7ae17faff2e7ab3e868e9fda80ab4dde44a47df180ef1de8df8d015 -Clang.v14.0.6+2.armv7l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/md5/e0da7e68ed8cbbb4ffd624bda6c7aa19 -Clang.v14.0.6+2.armv7l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/sha512/394804f909bcdee79a1506462be80f071990e255b4b9075dc6e8048983a81794e7937236cbd13cf043679e69322b98282dff86f349ae762be04df130c9ae989b -Clang.v14.0.6+2.armv7l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/bd2668a1b87f51851b1d975175431277 -Clang.v14.0.6+2.armv7l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/cea19ca32b642c5d6f85b3e14b634be907af33677910c9a31e29539265bd516f8368569285f0d09b9ebe9d0175809d2a1460191dd0f3e1e2ce6bcf4ead83f857 -Clang.v14.0.6+2.armv7l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/md5/117d0b2b77e4f62a4d4dfa4f89077b33 -Clang.v14.0.6+2.armv7l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/sha512/412e0f79382717bfac414db83af70fdaeeaa57b17e66c6525405f775fca922f5c02d01241be97dc493e78da10f3bad0db287ac4cf3450abdb1d7874df8f19ba7 -Clang.v14.0.6+2.i686-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/f325dfa797153a1d97e9b81ec74f2635 -Clang.v14.0.6+2.i686-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/8535ce903c71ed7b3a55d03473a2c921d1d8bf8d9c890f5bc0897af3042f62ee19d0841809daf51254d52aaa539d991d8b7222561d950b6e61894e910760cc30 -Clang.v14.0.6+2.i686-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/bde355360a60d90a9ac1f242b5c114e0 -Clang.v14.0.6+2.i686-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/176c08334a68d9a83feb0635173a3b4b292b6b03bde7c9c4c447ba629eb74685c7259268305c71b1d57d2943de5b152639b31b15347b24a07d2ec6628a37df4c -Clang.v14.0.6+2.i686-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/f50e7f89c8652930a56161d3ca703cf4 -Clang.v14.0.6+2.i686-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/b71cd857d1db0ce0e40bed58d5bbfa3807cf5e2f3c0bb102ec5d1d384aff7d6b45e1b4e895533cbc7176c8a3a2c617e96adf57e5f7f8347681bedabe5083129a -Clang.v14.0.6+2.i686-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/732e09b8c05100125c46947a01146a5a -Clang.v14.0.6+2.i686-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/ead28e4edae3d6bc77fb3c0410d87c468c474dd938551a70ff64a40df90aa1feaa90f088be683bddc688c5e298c5d988d7bba8b54d366490c9d07543b2f459af -Clang.v14.0.6+2.i686-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/md5/10529d4bb4a5d183709c384be98b5ac7 -Clang.v14.0.6+2.i686-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/sha512/7b4bae0f72d6e2dce6f5e65f4c0baecfd4f3fe030c2cf731e4e4efb678435ea14d73bd1f3187630beefca734f10d10d9d3bbc76996c7f5cf82440de48be19195 -Clang.v14.0.6+2.i686-linux-musl-cxx03-llvm_version+14.tar.gz/md5/7403f85447c8e622b01d4ed76fab8b3a -Clang.v14.0.6+2.i686-linux-musl-cxx03-llvm_version+14.tar.gz/sha512/0127fb603efad3229e3d70e5cb857cfe91fe5cd399091e756ebd45e3f0e0159aaea6eeff2e5e8d83bb79521040093de2c6cb4ac479f60a43332581e01dbdf6bd -Clang.v14.0.6+2.i686-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/md5/d47f8ca3f45f485705232e42ad3c1213 -Clang.v14.0.6+2.i686-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/sha512/ffe1e0756f960475b12c08b55ae3d81fef3d9fce72be73db8d2f9a6e45ab73110366e1dcb1a7814b4abdcbcf128086c09fdad86a512251ea42169f977df85f8e -Clang.v14.0.6+2.i686-linux-musl-cxx11-llvm_version+14.tar.gz/md5/3dc043e50aa93e140c5ce9e38c483ee5 -Clang.v14.0.6+2.i686-linux-musl-cxx11-llvm_version+14.tar.gz/sha512/200925daba6db1f10066f64dc5d6cd763c5f2f872ce0f69b1be620637d9eaa0c4865d8a251f385face6b4fe9423f677c83a613c0be2c80dd319ffe2c88ae5ce8 -Clang.v14.0.6+2.i686-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/md5/a5860093b12609c8fae69fc2e280b43a -Clang.v14.0.6+2.i686-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/sha512/9d0fb968d834462b98eba5081c712dc23dac43e8f91ae8fca3600fa6aa60890409bc486eacc82cbeb646bc0cced788d0d532c2c87d4a824f5d53c0c99c0c6eb4 -Clang.v14.0.6+2.i686-w64-mingw32-cxx03-llvm_version+14.tar.gz/md5/95411432c7722b132f400f8d12d47345 -Clang.v14.0.6+2.i686-w64-mingw32-cxx03-llvm_version+14.tar.gz/sha512/4191a4d6341177d73a28eef09c022a4d5f235a6106f1361c780b543d5393651aaa7c8da9d8072f5b270ac5673b2af9597eb3e9a3152918785f2c859bb1ca58da -Clang.v14.0.6+2.i686-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/md5/9b410214e77f817d100419493403b667 -Clang.v14.0.6+2.i686-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/sha512/1b1db5fc0f201328502a57b0b62b6da740d46c665bedbdc2e1dbfdcc3559a3e833afc44057d595468099a85898ea9eddd27a19c2da1bb704942f343f8c8f92dd -Clang.v14.0.6+2.i686-w64-mingw32-cxx11-llvm_version+14.tar.gz/md5/987703541a76749eb03e1f678d0cae43 -Clang.v14.0.6+2.i686-w64-mingw32-cxx11-llvm_version+14.tar.gz/sha512/7811d9e3784a48f235a63aa58e6253534b3c5b88ba15a574340b5059f4aced222318b152adad83eac0c1d637e1e61d1238c4f5315f1bdc406911e21b76e77064 -Clang.v14.0.6+2.powerpc64le-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/77f794a2630074684c3e11e5ba424ce0 -Clang.v14.0.6+2.powerpc64le-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/45c204483758b727d074f27ba630b3fef8f44bacaba1ea4a50b46d2bd6defcc30577fec6cfecfe6eb3e6b8d6fb9bf372f714cd5cff4423970ac2358f9ab62c40 -Clang.v14.0.6+2.powerpc64le-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/dab80f64898fe9a5ffdffeac60ab9726 -Clang.v14.0.6+2.powerpc64le-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/147d9860913196e2873f81098fadcd356adb7b365d12f8a4951d87ee7451ef7191d43841c909406a8ef0cd11a171bc1208bb3803035fb789d4c842b96be1b44c -Clang.v14.0.6+2.powerpc64le-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/3ba24f9af99881963370b72b8865152e -Clang.v14.0.6+2.powerpc64le-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/7f2b8fceabaa4a4c91edacd54ec7fb365567de4b51b42b34eb89faa2de481dfa75882c4066dc081d15f6aad4ea342b4226510a7d580667ef2b77d297409b9961 -Clang.v14.0.6+2.powerpc64le-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/71dac37bbefd7a780592ec81a87864d9 -Clang.v14.0.6+2.powerpc64le-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/b972be1373d5a3aec000902f7fa47ab241cdfdb0782dc4734c27310eb23cf457af11c794413482a43247cec744fd4283ed2bf81ea919eb825954bcae7cccd4f8 -Clang.v14.0.6+2.x86_64-apple-darwin-llvm_version+14.asserts.tar.gz/md5/f2b3ce2c6888649a1c50fbb54882bba6 -Clang.v14.0.6+2.x86_64-apple-darwin-llvm_version+14.asserts.tar.gz/sha512/eddbd9db8fe7c7b6afc1ff81ad921f2fc00c81f06d57ce680071d2d115a813b0d8212b76a356cfe26d8495f88cbda3c0f42f32b17f676803706a81ed49749d51 -Clang.v14.0.6+2.x86_64-apple-darwin-llvm_version+14.tar.gz/md5/ece1f4eba3ebcbcaed2a05baa427031b -Clang.v14.0.6+2.x86_64-apple-darwin-llvm_version+14.tar.gz/sha512/cc0c694e1365c1ba1521b6e971d850f83497074e5648dbc29503939f00713bb196cadf2d9bee992f7998cbd09e7805e7d3de4fec3e97e0df877c000bfae4cf1e -Clang.v14.0.6+2.x86_64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/86b29b63f068c84f0882bc43c03d1f2e -Clang.v14.0.6+2.x86_64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/4d6bbcd93d61e80db12218d072b25b2d467159edf2c22c72fad67b2eff7c76ac4635a7818d201734858cf1e936db4b46c7d89ac537f02546957323249f5d23c8 -Clang.v14.0.6+2.x86_64-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/0090fcfa2823e945b8ff3efc1e8d1a1e -Clang.v14.0.6+2.x86_64-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/3e665032abcc1c85bd30adc902fad22d198c7364c91906e823523d046291bcb94c7b23a364f66d68c5d1c8158e4397ebeb87c08d8d328c8b3af003fb0460f592 -Clang.v14.0.6+2.x86_64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/2a66245fcbe1e9cf63615578f61d90c2 -Clang.v14.0.6+2.x86_64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/d4662c7eb908a31a6e6e2d8ff7fbe2c74b6be7e7bd6a39999aa82c489ed50d7c7a11a5ec1d7046f67e6b18d2350fb51a77aeff91e3b18ee5d50acbc50be38e72 -Clang.v14.0.6+2.x86_64-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/b4ce7760690fe64a96cf8e6a17e70ae7 -Clang.v14.0.6+2.x86_64-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/4114b2c0bd895d151ab255bda0c24a7ef4e2851c746ef163fbd25cd31587e9fe51d5a770c727b7073ad17a4fdf64e10f0357a8919705be986d86b8ae1a7c3ff1 -Clang.v14.0.6+2.x86_64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/md5/35d24663842e2a0abbdb6be5ae0bc95b -Clang.v14.0.6+2.x86_64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/sha512/5391d44fedb6fe296e24437d8765ed8b819c01be8822bef3bb2e5703fce4f0ebccc7a2aac2ef1ac65dbae6e54dff81be200bde799a0200baa4c06194bcb39504 -Clang.v14.0.6+2.x86_64-linux-musl-cxx03-llvm_version+14.tar.gz/md5/2b012d456b01cf6e8c6b95a624d44d5f -Clang.v14.0.6+2.x86_64-linux-musl-cxx03-llvm_version+14.tar.gz/sha512/ddd340ef459c3214bdc56da19c771d95843ffcd3b7fa8e31f71af09afe7204563e892f5cf7b0a9e83d002b1215f03ba6ad323700c6a6ef7723c1be978b22a454 -Clang.v14.0.6+2.x86_64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/md5/70f4d3f4b44a71ce08913a173ecae6a3 -Clang.v14.0.6+2.x86_64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/sha512/d24ab9e63f445658a8be91f2c9a884ce2567872462357648d16f3a8b9bb7d22f9d149ee26f168e5b40a362166fca875446f543334392bafec9fc34bd6952a4d6 -Clang.v14.0.6+2.x86_64-linux-musl-cxx11-llvm_version+14.tar.gz/md5/06a8977d439610b925519206cd95a426 -Clang.v14.0.6+2.x86_64-linux-musl-cxx11-llvm_version+14.tar.gz/sha512/a90c5223ed234238f7a47c8681880a7dcc93454ef9d34e011a44c89c9282e4b082ae2f45c3c6ac7f4b30d11a7938b03b8be132aaa3d769f21a5d83aa6f2fa6fe -Clang.v14.0.6+2.x86_64-unknown-freebsd-llvm_version+14.asserts.tar.gz/md5/edaffef3a5feb62025a683296ab9f569 -Clang.v14.0.6+2.x86_64-unknown-freebsd-llvm_version+14.asserts.tar.gz/sha512/84ceacbad23c900a1157e80534391fa127da4b3d99f280ea537a5c391196bfcbc82b9f2ebf877aa45be045afb3de8e6f43a560e2c20060340de3e4829e95fe6f -Clang.v14.0.6+2.x86_64-unknown-freebsd-llvm_version+14.tar.gz/md5/9dd123ced026b03f71e156c15ca6188d -Clang.v14.0.6+2.x86_64-unknown-freebsd-llvm_version+14.tar.gz/sha512/375fd746dca3f3e7fae3d1d978f19ef84d6b17005f42094c1754fc40e4ffd0b7f775c64c47ff0ee3cfa1e1cbf75e1725cc84325b05600ffe23b1a0ea8340e3e0 -Clang.v14.0.6+2.x86_64-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/md5/fcff2f4448512a0bb9b2591feda80171 -Clang.v14.0.6+2.x86_64-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/sha512/c7e53932ee0932aa50d10364da5bef677a708fd52f70b2bb55a97ee9e2b9e75d56d9cc4b18d7bd4567259a4e2733d2a9fe33261c35e373908390fbaf49985d40 -Clang.v14.0.6+2.x86_64-w64-mingw32-cxx03-llvm_version+14.tar.gz/md5/f6a4ba3f52ed4576b79e6316d4e24297 -Clang.v14.0.6+2.x86_64-w64-mingw32-cxx03-llvm_version+14.tar.gz/sha512/a06e5985731b3f5f1597076141bc4a46c0369facbf5e7bfd9e869cd2a163a76a3c6e667c7b26730b3022b77db4603429940a5e6b1c1bcf116149a88692206c84 -Clang.v14.0.6+2.x86_64-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/md5/7295e8afef38b3f6c508c0175c1f5603 -Clang.v14.0.6+2.x86_64-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/sha512/538021b18cc8f01cfb242a8ef4d8ec869337d7f1c697ce8ec96936c8d84020b7a2b88b954589cd839098d30a2f76f1a0c34eb2fc3c1a82e58e22e72543a5f5a5 -Clang.v14.0.6+2.x86_64-w64-mingw32-cxx11-llvm_version+14.tar.gz/md5/d243a90350e08a486ba39160261865e1 -Clang.v14.0.6+2.x86_64-w64-mingw32-cxx11-llvm_version+14.tar.gz/sha512/51c63f86cdbc58b8dc6ff595ff3cb5020b98fc3b937113bcba59b8faf0cc5aea68e9aee978b325a485ce0168f0a93f6ce0cee412a75afdd2b58fe88bd8a75c22 +Clang.v14.0.6+3.aarch64-apple-darwin-llvm_version+14.asserts.tar.gz/md5/f5b5a95a89899922798e78df359813a5 +Clang.v14.0.6+3.aarch64-apple-darwin-llvm_version+14.asserts.tar.gz/sha512/716a57c99b96407d1f2e65f1f419c4de788aca832fb9f92911739da122a5cb6be09e00c6e24bdbe57bddc8c6aed30e37910a38ee0acec7e4aecd6232270763b9 +Clang.v14.0.6+3.aarch64-apple-darwin-llvm_version+14.tar.gz/md5/d88f1754c6d3d95263cceb804a7cccf8 +Clang.v14.0.6+3.aarch64-apple-darwin-llvm_version+14.tar.gz/sha512/7a22375ea1ee4c20d4c33c928f0c79399f382cb71e965da72e067dcd91d57cc28275532da564a05cf6ab91595996b3c3bd30f3537222b0fa651616b032f848de +Clang.v14.0.6+3.aarch64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/b60623ab0dcb034fb27be4a68a034b91 +Clang.v14.0.6+3.aarch64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/d93da664ba2e7123dc7a84788d417683fae769e0753af6c564be7d50713ab2a3d1b5e925467c3bfa32ccc2eaff1be2ebfed8a3fb5bf07bb2d5023a3e87eb1084 +Clang.v14.0.6+3.aarch64-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/f737f5a987eb274b839e3a8721104695 +Clang.v14.0.6+3.aarch64-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/4925d1f0e2f69a35fb4ef922c32de221125e49198cd952ec727ecbe17c3e3819b0d45a8bada12535dbb6aef57304c3b4abc8caef687559314472a2077ca04295 +Clang.v14.0.6+3.aarch64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/4c675903f286691915f60445474bbf50 +Clang.v14.0.6+3.aarch64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/85561aa0dcf8126bc21e90e8a08bb2402938e5139c05dd15a01ac7a67094cd1141d4414b0a3577f95ecc277dafc699cf1f000e59af3c3b0796daf0d38797081d +Clang.v14.0.6+3.aarch64-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/4771224587cc7378ed190c4a7fb129bf +Clang.v14.0.6+3.aarch64-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/54e15eef2a5aeef3992f2b43d5433e8602659b361c1e59f29b3ec11d0e75f8fbedcf023015a3452ad89fd13c825911c1a2ea7fab71df0a98cbf87af10f48934e +Clang.v14.0.6+3.aarch64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/md5/08cf0a7f776c75f6842b26acc213c2ae +Clang.v14.0.6+3.aarch64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/sha512/0f9e0c1b2199b0e48751363245c0e83cf4fc4e72d78df7bfa936e39e0f96cfad9ad89c47b80632469b89f615e3368ca09e42a10e67f1bf7c3604347183c89b7f +Clang.v14.0.6+3.aarch64-linux-musl-cxx03-llvm_version+14.tar.gz/md5/a3a88eb47cbc54262a51469a993d0bde +Clang.v14.0.6+3.aarch64-linux-musl-cxx03-llvm_version+14.tar.gz/sha512/65f899bb7d062623f1c6a7518b76e3ce753e1ab0d7891a736d15d9053ff7c3117bd4b0b510d1b71c3c0e5b43e86b96c70678228271f44b4ce3c642d44f32352c +Clang.v14.0.6+3.aarch64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/md5/75c230f9135708a81ef41075ff350f1e +Clang.v14.0.6+3.aarch64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/sha512/ded16404f36d676d01f6dcf9668043560c40250c4080596f4f927a642d857c4fd28eb1fa7b76638873dbfdb77e86ffce4d1e5ca25b78654d8bf41dbf7891c44d +Clang.v14.0.6+3.aarch64-linux-musl-cxx11-llvm_version+14.tar.gz/md5/14cd2bccb3d1fd1f60af78fca8b0f571 +Clang.v14.0.6+3.aarch64-linux-musl-cxx11-llvm_version+14.tar.gz/sha512/697550e5abd7c4723ccf2b59a342ba7ceb5e55299ec02a33269ee879de705903bb1cd4e5e0da3d0f6e186248295e8007d39256cf81764dfe9601b589361438fa +Clang.v14.0.6+3.armv6l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/401162a5dd6ee0697ba69260a74afe46 +Clang.v14.0.6+3.armv6l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/a8809c15036b8cbb9a4e50915179ec136cee497ee0a16015a4c7a7af53022e7ab9ef90785ab4e233105800396c4d7802b7aac9b4999b803feefd824a2007777b +Clang.v14.0.6+3.armv6l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/md5/ceb2db1de7f5ca31bcb9e33155b8fd45 +Clang.v14.0.6+3.armv6l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/sha512/7d5db7f81bfe825dfbb824b4ce65fdfa61cba3040dad12346d7e231ff868d0bd597ca28b2e3aef8f728628e93f26a5ad9a95cee02839d62dee25cafb0744196e +Clang.v14.0.6+3.armv6l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/797c3a5197012afc428625517927b0bf +Clang.v14.0.6+3.armv6l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/2f36b2ef2c0a87b8ad2971f3254b435098edf35f7b1fce795fff00fe8b0e5099758a7135696e6fe60025fb61c14865f5b3c8d5c3bf84f04d6f24f6e3b5809894 +Clang.v14.0.6+3.armv6l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/md5/811e61e240af841f71c11f397d7a5648 +Clang.v14.0.6+3.armv6l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/sha512/abe7d7387b9de4965505120f41705ac59ffcf868001f2cf0081b85ad9b750a9c906b311055e4c381960e23b6a938ddf41c8889c6dc9f481c471f0509b26ed4de +Clang.v14.0.6+3.armv6l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/d21460305a04bc2e0a7471fea7e4fac3 +Clang.v14.0.6+3.armv6l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/c0a9d771ddaa423f341d322bbb59d18060255a66a6ef8800a1b4c3c9ccecd071a7739923a1dc17bb12b44f6a3aa012fa9fd9316345f96bd45e624c1fc3a0086d +Clang.v14.0.6+3.armv6l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/md5/c860424b11a24eb5f162f78e98365c5d +Clang.v14.0.6+3.armv6l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/sha512/66ae467bc9cf489b2a13d49f4ac947acf66b4b0c52dc71b3faa356fbe999c592c7aabb16175f70fa9f8ee12f303866c5ef9e3290dead97b481ba47ad046ce1e4 +Clang.v14.0.6+3.armv6l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/6d3d11f8704c24f405b56d69f85aed07 +Clang.v14.0.6+3.armv6l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/479e54cbee1378200bca8d875fb50381bba2d91a36dce96d2652b7e8ee2f1a602d583f13ffaccbf02cdf28030c31982072004e301e4ad43e7040f1432ebbb9f7 +Clang.v14.0.6+3.armv6l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/md5/b7ecdd0c751640bfb45b39623f7b578a +Clang.v14.0.6+3.armv6l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/sha512/a251fe2f94bf9416d656589f53b277bde01b0662a255ca18a3d9bb62293b9db74d446c771939c2fc3d9c59f39b03fd3b4f8fbc3f60335dd6f779543e11b4aa50 +Clang.v14.0.6+3.armv7l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/09eda4af5a0d2bad3336e206e53916db +Clang.v14.0.6+3.armv7l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/ab9231c36ccbf8b5c51120cf9feadb5c0ce85edec93d5b05d734dc0b3304ea91d01516fb854572bad90b5ac02f766f214f60be25e5e8d7cc6ef43c2c2a761ce3 +Clang.v14.0.6+3.armv7l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/md5/ad3c4f9cee5c065ba2e5f35da81d1288 +Clang.v14.0.6+3.armv7l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/sha512/100ba320f85449f0c7c7fcbf782d5e674b4a4c34eaeb861e16af09cd5eb0198103a9d6d57a99851b2f8fcc6e05169afebcc1c8af280286d0bb5cf711708a5b9b +Clang.v14.0.6+3.armv7l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/87cdb57d1d99d67a01927289d8e52882 +Clang.v14.0.6+3.armv7l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/a382fa6abc81aba8d59d9cec885c86d864209c80d1afafd85b4f20509ec7720639909fe3f8bae06a9938a697450fd6b300136fd892fabf423708df33454667da +Clang.v14.0.6+3.armv7l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/md5/ddf46decaf6982033e329992461a3519 +Clang.v14.0.6+3.armv7l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/sha512/0037d4792c72fcc127ddfa4588bbbb7ccc5f3d378218fe3c9578cc480dd81e35ae5faf58cb037609359170be9c3a8d5cfebe72b5b91b3c3677c882471225b353 +Clang.v14.0.6+3.armv7l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/94e2b29a4b43ed82d4ae613a4405e3e9 +Clang.v14.0.6+3.armv7l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/6612fcd70d7754a56ebf1979f4c2c77075234afaea66a46cacbf583198be6d8db0620b0b44f9d1308b7d5931d6fc9474cfc8897697609ef76244ea2dd9396fe4 +Clang.v14.0.6+3.armv7l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/md5/5caf0a59f5ceaaf22721ee1aaec17f62 +Clang.v14.0.6+3.armv7l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/sha512/1294f3ae159d91ba0fec7e90d2c043087a3ef8508185e91d3dc53e33359e7abf7a4c0a7da2cf8d39062a5ab8e62b297991bfa22816de753890c6eca2920fa900 +Clang.v14.0.6+3.armv7l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/7bb1190508b5501940c5118bc6e896f9 +Clang.v14.0.6+3.armv7l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/222fe7aecdcfdb07d594cc7b47bb9a72124118a8549b6cf20f114082dda64606c46419ef9e633440b7c9c0aae95b38c64c8c7c47a4cb9fe7c96e0689d66a960a +Clang.v14.0.6+3.armv7l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/md5/9e5b664cbf3f71489812cf88fdacd232 +Clang.v14.0.6+3.armv7l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/sha512/a61e2e62c967eed4c987aec6d85a88fec6e8031f7bd3254ace8548ed283dcd593704941f09642b79a7609dd264e1bdf5aa7a7328a676ec6f07d83e178797a8f7 +Clang.v14.0.6+3.i686-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/3ff3989dc561b3e25de33862c6607a2e +Clang.v14.0.6+3.i686-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/6de35bb12cfe18f3f3305ff3b880e2f93fbc5a941ecdf704012f555553f6bd7412aff3c402443b394ec83dda1cb092082c08b6085045181b8832139ec61a4ec5 +Clang.v14.0.6+3.i686-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/9cf19e989e28fb226e1705aecf94e62f +Clang.v14.0.6+3.i686-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/c2bc6a4e7313a6065d827d33c88b05d297828f6a2f9d6f5a729fcd811d9990e744d92973c3f283010d798713df9858106fd25fbda7654ca843cf85443a3e4fc0 +Clang.v14.0.6+3.i686-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/cd5228524e17b0d1a6c6cf231592cc22 +Clang.v14.0.6+3.i686-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/af8dd8b19e2344d1df07ce6fb89fed3be5d137eeb43b08e8ee7024b6b2c6705355846ded42e9b5583f36b7d1ddf9a0530cd5943e3722260e28b52fd5fc10033b +Clang.v14.0.6+3.i686-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/33d3f0259e4426101964bd3708d8a35e +Clang.v14.0.6+3.i686-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/07486f4c11b8bca3c483dc60b9103927648dd74b468fc37f99f029094317cd050ac1083e82866523cd018a031293ae9f4e7986d15dccb154b9208bd90732188d +Clang.v14.0.6+3.i686-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/md5/93c50e6d95b59145a5c7d0afe2e20c91 +Clang.v14.0.6+3.i686-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/sha512/4749856cb2739f7b0ce8d0930d4274311e5ea753b77150e732db0ffe55758f0aabcff06c97243a7b3954a1b205e975bd55bf6755e6f3d55407b698135a2b8029 +Clang.v14.0.6+3.i686-linux-musl-cxx03-llvm_version+14.tar.gz/md5/2574258d11a12b23ca3194a79e3f7f24 +Clang.v14.0.6+3.i686-linux-musl-cxx03-llvm_version+14.tar.gz/sha512/c84f7054fbdf79196f19712796317131d57fb324a36d8e8cfcee2522261a127344d52364f6b2272136d5e36eb3f0c1a30de21c11aee11d4278e6ae2b5c406d72 +Clang.v14.0.6+3.i686-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/md5/ba41df7ad23f43f742bb9b2cc68789ab +Clang.v14.0.6+3.i686-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/sha512/0e2b1be78c5cac46b66ad8b4e9853d45e85216625bdfa023de71d7871814ef1e7da58f5a9c0f8fcd5070e4fa57194243a759a1dc906cfbbfb7d332db38fa3635 +Clang.v14.0.6+3.i686-linux-musl-cxx11-llvm_version+14.tar.gz/md5/e7172fbe2947d01106597c4d1f32f091 +Clang.v14.0.6+3.i686-linux-musl-cxx11-llvm_version+14.tar.gz/sha512/2ff2ba01b6ebe439acc9e4507cc81b78a00595b824d7012b0a404bc67d26bd1640187afb4c368360bb5d3566cab53b7a6380cccd0d062800313e9d30152881aa +Clang.v14.0.6+3.i686-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/md5/9da1ed32f3207dd583ff66ec54a009be +Clang.v14.0.6+3.i686-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/sha512/3969a16fa4ad2789cfe202ae1fcf954dfbf332247bcc4b44eee725086176a86850383b07ea3454106447fcb464db29fef726885be3f47156835f737a446b0ae5 +Clang.v14.0.6+3.i686-w64-mingw32-cxx03-llvm_version+14.tar.gz/md5/1a0cef3a60b6388e3225977eb3dc2717 +Clang.v14.0.6+3.i686-w64-mingw32-cxx03-llvm_version+14.tar.gz/sha512/80513e5902ad738d7157ce25e33e222fde04978e0d1a7e9dbb407adf285b6632a869334caef29a72794fcf74d2728b514c24bdd5a79e74c47a4f21a6da2346f7 +Clang.v14.0.6+3.i686-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/md5/deb810d3c2cffefaff7df8e133680962 +Clang.v14.0.6+3.i686-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/sha512/f90106f0460cccafa6fdfe6e1babd95f002e41801f6091e27881682799fc7c71f16b8527462555fb769b94a0394ab64c97c67bb2dc309a1593088972fd661f1c +Clang.v14.0.6+3.i686-w64-mingw32-cxx11-llvm_version+14.tar.gz/md5/df41dff25d872279868ab4261bb7c919 +Clang.v14.0.6+3.i686-w64-mingw32-cxx11-llvm_version+14.tar.gz/sha512/a01decdd5ceade5987e192e379fa8f44416364b7a256a70c60e8ff87a6073bac32f361e2625203d804c0110a256117ef7462528dc732a5e75e12c7ccd496fae6 +Clang.v14.0.6+3.powerpc64le-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/771216e42312936decd5fa2ed8e43135 +Clang.v14.0.6+3.powerpc64le-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/8d70319fc762c57c502c1b6db04795e71458aaa337e49f970025e4fc31ed1691c35fe450bc28ecd440aeab1e9f21ff399ea3dac7e9c9e54b97c1a0a5dc3c7f45 +Clang.v14.0.6+3.powerpc64le-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/d58115e5fda3ab222493267841ab4219 +Clang.v14.0.6+3.powerpc64le-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/468ca9fe210ce03e48a8efc50b9410ebdee2d3c73de2324c2d7242d86ab2b32168d83acd860717f463524caba5c59b32722043c1d452ae2054b3eaede73807b4 +Clang.v14.0.6+3.powerpc64le-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/d453bcf391b68f67492b5258177faefc +Clang.v14.0.6+3.powerpc64le-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/50d4c8b4a6d06d6e39829b0ef07e672f91e90d64278d87605dd52cc82fcd967d2823644a1501195e88e5e8c4e23a96ee2a336b1de505c8785fd2eea660f6ee14 +Clang.v14.0.6+3.powerpc64le-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/f6241b5c64ca759fe8c6cb996b7fa011 +Clang.v14.0.6+3.powerpc64le-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/b7bfc9e057a124ce5570e49016cf17309e77da4e24536610b652936c51d26b7cde26ea65b5727bb0f990b1aa3bca2c0be35b11ced5fef6d3e5a1a027d6f2e958 +Clang.v14.0.6+3.x86_64-apple-darwin-llvm_version+14.asserts.tar.gz/md5/c2fe21a6699a10e3e639ad3c109a18e4 +Clang.v14.0.6+3.x86_64-apple-darwin-llvm_version+14.asserts.tar.gz/sha512/93a6fe1e11c35af12e8f4164ea9fc9c80cf706f424c4877b4c302b25a4c7f6ee103dc614d5d7d44586cb9948c819986e8442a7a4ab8ad0f21a4d82899d97baec +Clang.v14.0.6+3.x86_64-apple-darwin-llvm_version+14.tar.gz/md5/2fb786ca049cfe820ee26d5a51f5f84b +Clang.v14.0.6+3.x86_64-apple-darwin-llvm_version+14.tar.gz/sha512/d441e0f83107ddc025a6a80cf3c6865598e381323d04173dfc2a60c985a248248799fa9ffe36f8b97c75170e23fcd563f2aae599487dc1218bd24f7d12645183 +Clang.v14.0.6+3.x86_64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/b4b8134cb2dc032a19ddd7f8c1a66dcd +Clang.v14.0.6+3.x86_64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/4fed4767d97b2b3c5e3ab60ce5cf8b5c0bc65029ca57c53b3bd50f5ed924101583ea156f4df31144bb85e1771ed5af72b18f8cc90b777da0e07d6631ddcf2a3d +Clang.v14.0.6+3.x86_64-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/796cc2877173231a6b15a3ebe5bf0356 +Clang.v14.0.6+3.x86_64-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/18349ad2a77786fa1566b234c03251eb5e805cf69b6fe978fbfb40ef38fcd5bdb41c7773d131fe6867651b151d11d61b14a52262022dd00462daacad936df3ff +Clang.v14.0.6+3.x86_64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/a7b5f9b64abffeecd1255de96cdd718f +Clang.v14.0.6+3.x86_64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/0429d2cec6f54fb7196030857325e761aecb0f76850a591bf532b6482571ae908a94c979875e178620b760d2b6faeb06fc66475b3633975905e6d20965abf604 +Clang.v14.0.6+3.x86_64-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/894eef7d0411e065b63f3adb2a0a2f02 +Clang.v14.0.6+3.x86_64-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/e28a429aadaa8a5b91849191396eb031be9515ccd4913d03dc67f13aeb3cd71f48a8ecc2e04cb6158156fec0ee132133ac1e6de013a86af5cd6a82a3bdc5f0c7 +Clang.v14.0.6+3.x86_64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/md5/dc1701be0ee2ec5c1c0206df5a5cfe09 +Clang.v14.0.6+3.x86_64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/sha512/7a0fe6b9086bc3458c6f2b0797f5cfffb647ffb5afe149dba437e0fdf21bee68971bbc50ffe0d07e022647b2176364e65536a8c0fc77aade37e9ed4e7dcb82dd +Clang.v14.0.6+3.x86_64-linux-musl-cxx03-llvm_version+14.tar.gz/md5/2d6d11cac078e7e9ff76d957927fde17 +Clang.v14.0.6+3.x86_64-linux-musl-cxx03-llvm_version+14.tar.gz/sha512/886e1558c7cf71112169f63c0571a98ff5b98600acf1a740e3d32efa6df5387931f876ac13aeb2095cc38e02b547dba24645ef6ecff42e4edcb1aaab506af6e7 +Clang.v14.0.6+3.x86_64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/md5/19489b3d76838ec1603462b6406c2316 +Clang.v14.0.6+3.x86_64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/sha512/ac6984d4117735727185306fb60b45fcb81c4c337d56ccb78040790cbe38e7b010b206e1fe7fadd46d009089c5300e181564a30b70c3871a24ceb0a80f83b106 +Clang.v14.0.6+3.x86_64-linux-musl-cxx11-llvm_version+14.tar.gz/md5/cb2ba20005e1f6b656b7bab26b99e23a +Clang.v14.0.6+3.x86_64-linux-musl-cxx11-llvm_version+14.tar.gz/sha512/8efeb29e9b4e627966e96b05c75bb842e89260c63e8a8cbc018fa728ea72aebca331a0089c5cd425597813b8861e39b898f778a937f32d915526fa108a41af7f +Clang.v14.0.6+3.x86_64-unknown-freebsd-llvm_version+14.asserts.tar.gz/md5/c2fd4cbaac70ce49076ae72f0d00470e +Clang.v14.0.6+3.x86_64-unknown-freebsd-llvm_version+14.asserts.tar.gz/sha512/548bde94d5e88e7067acf4fc2658987583fb68b032f1416e41461cfdddd09ec68c38cd5529281d3ced2aea93ed57acb260c5f4597dcce057240bc12b394b873f +Clang.v14.0.6+3.x86_64-unknown-freebsd-llvm_version+14.tar.gz/md5/05306ecb416772494abc55ddb68c7163 +Clang.v14.0.6+3.x86_64-unknown-freebsd-llvm_version+14.tar.gz/sha512/a49f4800efe99973b364dbf07443de0d6a3763b4535221c0fcad5c3a8076d174ae343be8afe566954c3475fbb5b54c712cb1f2c54d222715005bb94455307662 +Clang.v14.0.6+3.x86_64-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/md5/4eeb4cf34bc8b95f4fdd3280d8f1f5be +Clang.v14.0.6+3.x86_64-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/sha512/f2ad27b4e0121992cabac4d568835a988217facf5ed6e6f095b2ee124ed2eb466b2deff53ba706ac98a3777833fb94f4a4efd692bfa775b0717af27e30d81176 +Clang.v14.0.6+3.x86_64-w64-mingw32-cxx03-llvm_version+14.tar.gz/md5/c39e96db6850939096c3f9d913cf0123 +Clang.v14.0.6+3.x86_64-w64-mingw32-cxx03-llvm_version+14.tar.gz/sha512/db048395b39a55efa88656d6ba6cecd8b394b125095fc522c5438cb9f7d1dbcabc0ea5225fef7f8aea405571c2b16b5300dda23034461949da6b2e521e716c82 +Clang.v14.0.6+3.x86_64-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/md5/915122da271a7fb0f486cb306a76e06a +Clang.v14.0.6+3.x86_64-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/sha512/2eee597113a0d94514f973f435a30a80370195388b78ba3945ac64d47baae47d4653356d7bde884a7ed13a28172b54b2bc827b6cabe09e35fe567b4770dce817 +Clang.v14.0.6+3.x86_64-w64-mingw32-cxx11-llvm_version+14.tar.gz/md5/49e329091e6f1d6f03576c662a4f0150 +Clang.v14.0.6+3.x86_64-w64-mingw32-cxx11-llvm_version+14.tar.gz/sha512/dafec5d9ed6209f93a910b8162f2b77b825cc5854bbd21502f91c538b529e28207d9a0eeaf8114481638d500565f1335333f1630427d29e7e85885676d7c4174 diff --git a/deps/checksums/llvm b/deps/checksums/llvm index d96d2da078b1f..629ad74a7b09d 100644 --- a/deps/checksums/llvm +++ b/deps/checksums/llvm @@ -1,119 +1,119 @@ -LLVM.v14.0.6+2.aarch64-apple-darwin-llvm_version+14.asserts.tar.gz/md5/8eac4da97313ba075330c1df33b7a85f -LLVM.v14.0.6+2.aarch64-apple-darwin-llvm_version+14.asserts.tar.gz/sha512/7e49321c13c854ee43e7b5ec66951a2417debc79e2874bf35bf2a15238cac622bba5967d8e833152a2967b259b4075573f28b4b3e43817d599376c2ccdcb23bd -LLVM.v14.0.6+2.aarch64-apple-darwin-llvm_version+14.tar.gz/md5/2677a6865f3e9b53069c231594468730 -LLVM.v14.0.6+2.aarch64-apple-darwin-llvm_version+14.tar.gz/sha512/dfc917b5f38fdc96492b0c80d82931a1a625452498aa0f9ad50f106673514e922c109a1ea7a44e69473abecd527a2ba47d8aec42ab22ef5ee6cc739813ba043e -LLVM.v14.0.6+2.aarch64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/6e89784f5981feea414f9d44e4443a92 -LLVM.v14.0.6+2.aarch64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/a37ad85acf99bad4aa435ca5ada57f75117211ebe68a9eb130702d256710ee3fc7c4de6f3dd058a06dc3e2f4474b9fabeefaa8eb0f8b9317aee0459d2d686610 -LLVM.v14.0.6+2.aarch64-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/3b63e849255b7d5bc6b159b8a6612c44 -LLVM.v14.0.6+2.aarch64-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/bc5d58c4be42fecd9e9a093eaa56160ff552f17caee2560705efe0532ebaf9f580f01fb44fed46860e6d3811f0386326f14e71b1d267a055484ed6620c2553ba -LLVM.v14.0.6+2.aarch64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/1ee1593da5b0a86425cf742335b055b4 -LLVM.v14.0.6+2.aarch64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/31bf4ae6b3d0eb836be946f3fd4e98d9ea4596a55311a9e37896a639dbfa4f2ef2ff3d2ee716c5f915c68d271646193995d4312975194264e4103a22b6c013b4 -LLVM.v14.0.6+2.aarch64-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/bd1c69390d4ff6bc47ac7f20fb2fd596 -LLVM.v14.0.6+2.aarch64-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/5409aca3de4c18f97367bc6d1f7b9761de80e1e7193f981b5870f6a4315ae6a7e0f7dd37482f237996759f4d04269aaaa7ea89b912b83fe2016dcf78f94b809d -LLVM.v14.0.6+2.aarch64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/md5/8ab3ed766d7620b7ffb0995be9126dc0 -LLVM.v14.0.6+2.aarch64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/sha512/41fc3a758fe586aa16051ef7b88212ba68746ead8446d5af247f1a337b44a60a7f8eb14891aefe2195d4ac6eb4c0b97f047c5b16a3703053986ae50fde4e4854 -LLVM.v14.0.6+2.aarch64-linux-musl-cxx03-llvm_version+14.tar.gz/md5/481cff2fac3420b66a73f8541cecf8ff -LLVM.v14.0.6+2.aarch64-linux-musl-cxx03-llvm_version+14.tar.gz/sha512/c0255dd7d30eda1183aaebdf0ef5d54f5b99c9529a9a36a29ebbdfe801dc6ca4be6ea491584d5b608be1e999c5504211e89880ad729177a47b195de37ef439d5 -LLVM.v14.0.6+2.aarch64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/md5/6f664b22078386c19354371eff14cd7a -LLVM.v14.0.6+2.aarch64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/sha512/9bb3a3ec6f9b6a2a8daca946de94a0d7297880cecc695d39d049347b97a7c3bbe4e126c41c34c7ca26a2ab93b13d38c8054e0fcd373e7e73975c1a94988d43a5 -LLVM.v14.0.6+2.aarch64-linux-musl-cxx11-llvm_version+14.tar.gz/md5/51d963d135d08f43897870a300428166 -LLVM.v14.0.6+2.aarch64-linux-musl-cxx11-llvm_version+14.tar.gz/sha512/7cadccf6838b87273e6afaeebfb71cc3c90bab9d0d3211371de9a86364a3543d97247608f36d48b598c25eb605c9ffb5eacbd1f55a6af55429caec3b099b6b53 -LLVM.v14.0.6+2.armv6l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/6560ffb0cb4dd783fb658f0990b963f7 -LLVM.v14.0.6+2.armv6l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/2c4e3775471d5d385b34471e700c2c2d607248f10112e3b95723181521b6ad6a560843bf047aede8b3c16dab7d1a1dfc7611b55b0b610d5dd42af2099bff70fa -LLVM.v14.0.6+2.armv6l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/md5/6cb2402baf7f4039b541e42644e5ae6f -LLVM.v14.0.6+2.armv6l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/sha512/4ce2285b81650b75385a476125dae6c14548f4e70989aa171609fac2d633a0d0318762cb66331824d05faef381ebef4913ba70c97d12043cc96fdb32bdfce1f9 -LLVM.v14.0.6+2.armv6l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/1c3ff1c0213d092e1977dc8903604d20 -LLVM.v14.0.6+2.armv6l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/0abede35823168e4d1a6af03d5cb160a731f7e3e1ee022b915f9516958171a78d2cc536786c7f2d15f5a4684bcf0e4e33a22147999b53df77040f7d3b2fff8e9 -LLVM.v14.0.6+2.armv6l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/md5/18ae412527f6550ce7ff803ecfa367dc -LLVM.v14.0.6+2.armv6l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/sha512/327b794da935648cec99acf4dc5aa729c1495ad102bd6a3bea9f579497cb10aad79d912640cb4064119cd2535b9dba20701a99a2ffd8cd6c8e48ab38613d62ea -LLVM.v14.0.6+2.armv6l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/14f35dfafd979c4da4eeaebcdec3248c -LLVM.v14.0.6+2.armv6l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/d33593b8aa8ce51343767c0de6e7be5ccc793089bb9fa86e13ba7a732368767b96bd5219fc890fd7c6c151a79419b0e8af5c7de1f29b79c36420c02dc988e636 -LLVM.v14.0.6+2.armv6l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/md5/432bdbb6bce6a0b0a00958b528eee64c -LLVM.v14.0.6+2.armv6l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/sha512/727e8c254be12f8a8bd583100d72fe8792c9e5aab99e5e5d7fe07a5fba683792b8ac377c9929dfb9ff24da3044a8f4bf467d7d317ce85e8ec982aa53895bbe03 -LLVM.v14.0.6+2.armv6l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/21b4883a4d2bbd287b85187cc93a8bd1 -LLVM.v14.0.6+2.armv6l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/39b5b5668057afd60f9cb48aabf09d9fb404a4e14db5eb13ae6524802795cd5b23a2aadf7ab0f3b74c73a782ed72ed9a82c3ebd98a7c6785a4cb478fe128cc8b -LLVM.v14.0.6+2.armv6l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/md5/7c969cd27ebfd0ac55fd9965ec064999 -LLVM.v14.0.6+2.armv6l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/sha512/5bf1aab8b3f48494ae0968434ae5b1670620a7df113f9b85a781e7ed9025e4a91b8f3bcac900657c8d72254d1d98c7399998b7b14fd164d303749e6816aedf67 -LLVM.v14.0.6+2.armv7l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/4c0b0d214a471e2a1f1c95368c939da7 -LLVM.v14.0.6+2.armv7l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/66e840c7117f6c4561050a8719ddf91e454f5209377357fcee15bb97e69735dfc1def3571adef292a52bdb0f6c9c36b99644b86770435a453273a7ceedadbac3 -LLVM.v14.0.6+2.armv7l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/md5/208e0fc55996d91e60a9b44ee5b3de04 -LLVM.v14.0.6+2.armv7l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/sha512/21d75958120a8e279b8c7f05f06338c3904cfee2d6dca4ee2f98a7b391694f147577388dd4662e5b0b5bb54707d7bd9fd5e9b8011519e6c275017d856c640053 -LLVM.v14.0.6+2.armv7l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/1b4d74a43a5f592f63fba7247caf2d38 -LLVM.v14.0.6+2.armv7l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/5317ded3758e3568ad957892ef051460729d35d4da716d272b88de4789696d06b4598417beb9e076730e6e02a0d20f3dcf4222638986b8869ca9fb400a3d6808 -LLVM.v14.0.6+2.armv7l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/md5/aec5398120865028826330cf2d38f590 -LLVM.v14.0.6+2.armv7l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/sha512/8e0acbe7561692f272858c6d9f918a374438f5cdef94c2522012dfe671594c83e6d63f91475c502c413df90b9cb04e5e8ef199111f179f6f1d2f840aedc51ca1 -LLVM.v14.0.6+2.armv7l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/5d8977d45615cbb8fe0bd103364bb100 -LLVM.v14.0.6+2.armv7l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/986952f4a445869b607ab634f9e871356f51992ac95a167b45a6d946cf7092df1babf45d409bfb86f4433167b9deec6b9e394a75c445a37740180730b14770d3 -LLVM.v14.0.6+2.armv7l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/md5/9ba14a5eac8c25a29553cf5c07a9c61e -LLVM.v14.0.6+2.armv7l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/sha512/3f68b6348f05bb7bb3deac81678233b7804060a5dd9ba875e68fa4dd59a55ea8447326243c1dda24de5bbe551af31b7c94b66cbc047de55b7a21a85230fa642b -LLVM.v14.0.6+2.armv7l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/02a3bf9ad33c815495be4d426281445b -LLVM.v14.0.6+2.armv7l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/2197a60255b3cda2e7e0a00b81afddb552c5a65385d28013f33dc93067598d4246097a130fb18568fcfa5c70c8f7df04ebd1271bca40fbbd9c57907152d50f0f -LLVM.v14.0.6+2.armv7l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/md5/c02344cab90c0a78fe3e949c9ed6e9fd -LLVM.v14.0.6+2.armv7l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/sha512/ece70d7ca2c5027deab4ec26e376a0d193d1a9c703c26a7d9c29e03a853741c3296560511a5b561535f04ee61fe571a07638c935211e1d34068c0bc108106455 -LLVM.v14.0.6+2.i686-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/454166455da7bcd5472961645e44b517 -LLVM.v14.0.6+2.i686-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/64ee815667e935f088ba7d215b825390da4d58843cc878b9474479f86829f8db92c14e7058d18cbf419b140208123a2bc3e5952bbf07dd03997fb2b2044b1111 -LLVM.v14.0.6+2.i686-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/9930627a964dba67f8245159fa97c6c7 -LLVM.v14.0.6+2.i686-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/8bdb26d9d2d5ef3fbf64782c318846a1d2a119ab0b8a068428937c71b04cb2ec18b6a7ca367848a3e9afb7b649dfef11954dab0e27757f41a515b188f4504941 -LLVM.v14.0.6+2.i686-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/bf54dad4ab1c66fa0494eecc55689440 -LLVM.v14.0.6+2.i686-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/9f1839e23b86266fea0a11863cfd874c256ceec062fac843bf49d780e3431439527421b747869e1aefd6038563a93815c62a935ae323e19aa61b33f6cf4a5b64 -LLVM.v14.0.6+2.i686-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/1a711b82a5318c5b425df78280ed274a -LLVM.v14.0.6+2.i686-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/df956f922bd1a9e2ec11c84154dc613dc424f3dadca20e908d39b5883e2668f8dae24cc828245b420a5fb88f8553f4393229b4dbd5b0b7f468885bef365609da -LLVM.v14.0.6+2.i686-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/md5/50f42d954ce79ae055b1d99e5e074f17 -LLVM.v14.0.6+2.i686-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/sha512/9c338a86f77329b456b49b6b87a25f04fb39c7e818b65fee12cc83d7d9ef6199022899745920b5a0b9450537e1a5392463295472f63dbf317fa6f35cceb8a6f6 -LLVM.v14.0.6+2.i686-linux-musl-cxx03-llvm_version+14.tar.gz/md5/af0adb5edc6f5573d911b285b90a3972 -LLVM.v14.0.6+2.i686-linux-musl-cxx03-llvm_version+14.tar.gz/sha512/fdafad0afdc123b0adacfa3dd546004659a30a4c28ed118056ee8e69820fe1f33e6f052bfcd39ef9fe7677ac23ab87e52c98c2a248e7bfdb58a3da651ed5fc16 -LLVM.v14.0.6+2.i686-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/md5/78373933d33910dd268eb66d77d7b9ff -LLVM.v14.0.6+2.i686-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/sha512/bb9933b984fd494a44662a3b545700c99d166bf7995654c8347fdbd19226c1ea699a53c6d4dd9db17458ce6d34623475c8cae97ad12d21c48aaea8652d3029f9 -LLVM.v14.0.6+2.i686-linux-musl-cxx11-llvm_version+14.tar.gz/md5/aa21cb389ccf5d49514e4742e34c3a8c -LLVM.v14.0.6+2.i686-linux-musl-cxx11-llvm_version+14.tar.gz/sha512/29e6b732a77f1bb2871d185bd9b8c79f721124a659257085b36a19a520ea9146d4b3d9749d01cbaf06eaf259f240ee634586b9abf53b580a8c0c9aa51575e7b1 -LLVM.v14.0.6+2.i686-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/md5/b4ee794dd157f1f2115a169176700eb2 -LLVM.v14.0.6+2.i686-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/sha512/e33fb35cf3107255769d8a788d59d39a7c4fc5e50ae489887b767bdb53f5e2a212eba485af8c937e847dcc96fd987176ac5a97cbd7f72aa84707404f2d8b832f -LLVM.v14.0.6+2.i686-w64-mingw32-cxx03-llvm_version+14.tar.gz/md5/272dc8e5a14ac5ccb513327fe2fffca1 -LLVM.v14.0.6+2.i686-w64-mingw32-cxx03-llvm_version+14.tar.gz/sha512/2b05f64ec0a6aac2210cdf569a32eec727270cf667f8e83167f7e45f62dae5f4e7b9d8c6c24fee970f168e5fa82fe7d8dd5f4a277feed410fbcb754257869c26 -LLVM.v14.0.6+2.i686-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/md5/aa4aa3280955c48432f5e44ede0cbab4 -LLVM.v14.0.6+2.i686-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/sha512/4f47ee3a6c0d225108993bdf5586cc5071646513c9991765efff42b35c191e207e977673a688ac33b7d6bbe6b30b394b892cab8631e7c272f01ae24a86ae1f8e -LLVM.v14.0.6+2.i686-w64-mingw32-cxx11-llvm_version+14.tar.gz/md5/f1d3a23804ee7383bb545bce4f1d2443 -LLVM.v14.0.6+2.i686-w64-mingw32-cxx11-llvm_version+14.tar.gz/sha512/5a7fd24e8406400431a2244e4c19dfd128b050f6e6968dd3df686969c3458d6446ebe09393e64989369e38fd4dd099e98ac5f359a7401b4cf56f1d5b777dc9a9 -LLVM.v14.0.6+2.powerpc64le-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/8971e352ad29a536d48938406b019eb9 -LLVM.v14.0.6+2.powerpc64le-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/f3a32879f34731c275bbe5d157f5776db176be2424ff11443bd9325d5b3f1d6d478cc9d8f5a8399756c38da6d253d1de13089f20113c24d2dbfb0e8b80e618ae -LLVM.v14.0.6+2.powerpc64le-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/5780b46302e5388d68f7f5dc0dcd5ab5 -LLVM.v14.0.6+2.powerpc64le-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/4a02b55aaaada0946c3f6dbae8bfe0eafb1abbf5d8b231bc426925ac28e9b5353f7bd5e12e723a54b72cf1a48193c5cf22cc68bdf4e9843bb4301b9ac1effdcc -LLVM.v14.0.6+2.powerpc64le-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/08fbaf91ff5c730977f15e869f73f582 -LLVM.v14.0.6+2.powerpc64le-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/6492619b05cb4857d17a07494b4d8bed87dc2fde4f54492f7ebac734a81bb6a6d854e8f0e3c9d44b5618e7aa446eb179c05d7e5e4388d8ce3d1e3a70bf5e2260 -LLVM.v14.0.6+2.powerpc64le-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/01982b5a59b24b1e06afce35a3657ab5 -LLVM.v14.0.6+2.powerpc64le-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/a78cb2d023b12379963a902df9eaaa6caed3832420862852731a830334177d7af38364c75ee216171ac3978474981a50153ce2f62e6e137cd8c1e403590002ec -LLVM.v14.0.6+2.x86_64-apple-darwin-llvm_version+14.asserts.tar.gz/md5/45e76481a0816607a619cb74014ba50e -LLVM.v14.0.6+2.x86_64-apple-darwin-llvm_version+14.asserts.tar.gz/sha512/d92235a2f9f271f6b2f4d0c70b143cbb7a57fceafdef168f5c109e03aa060ca77374989f80958efe8f6750dfd38be64008c8401103d2240b6139d4ad55595610 -LLVM.v14.0.6+2.x86_64-apple-darwin-llvm_version+14.tar.gz/md5/0b6ed0e46bfb8d11663600e755bb43f8 -LLVM.v14.0.6+2.x86_64-apple-darwin-llvm_version+14.tar.gz/sha512/5837590ee9955e670bfefc6746d896593233a4b46033a933369df70f9af86af2470986a9d0903e60e14966b3c65c4969d1e599fd08f7db3b42b985710c43a883 -LLVM.v14.0.6+2.x86_64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/82c3b519fe20a72f6a7a1540910acf1c -LLVM.v14.0.6+2.x86_64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/870978451a61ecd9d3fa294d6904e0dea1773032830b2a4e6489fc60a0a4d34e57224249f41e0292cb04647df2363dab0ab2a4f620503518c690b233c85a4d5a -LLVM.v14.0.6+2.x86_64-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/86747234744c7de5d6216f852d175333 -LLVM.v14.0.6+2.x86_64-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/c661e9f5a47fc8783365a3718b2e21dca72cf8bd7580885a2a7ac007eaa8921de3880da9112ec73f2f386a7af3ab9e71f183ce52840db0d0559d4e6b218cf93f -LLVM.v14.0.6+2.x86_64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/45c61ca66a89d592236803c896d1c4d3 -LLVM.v14.0.6+2.x86_64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/aebe144ec08cc61475f751e4ca869139df85960de6b8117abd0d4376de66f8383b1212d9a3c0591442feab83ac86e8ca6e4d3988be93efe69d605f3282e5fd1c -LLVM.v14.0.6+2.x86_64-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/416bbafbf3c3b89f13bbf695786df058 -LLVM.v14.0.6+2.x86_64-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/61fe4b7e027e2fab51d2309e4dc853beda1be305c521423376e30652c123779c8a8be927a32e857f15f74c23e8e1361dca7c28257526dc2cc5276624e4b3140e -LLVM.v14.0.6+2.x86_64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/md5/cbb5ffd80e05099cc0897fe7e06833e3 -LLVM.v14.0.6+2.x86_64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/sha512/190394027a27b7ec49821dcb8bc9709505ac46c6d6231ab83d6229f93ada6029b81f0c7937c4a057c6d8e7e92a4485e32ee8d76b001b97d5408828a4a056240f -LLVM.v14.0.6+2.x86_64-linux-musl-cxx03-llvm_version+14.tar.gz/md5/e9f97576575e03b500d593c06e983c1c -LLVM.v14.0.6+2.x86_64-linux-musl-cxx03-llvm_version+14.tar.gz/sha512/2598129b836060ef32680197cef40608b7e48ce87aaada571e457914628e0c7960c56cb2db8eb7e0468a865f9fe7fe74ea4099d7af3741d8314d37991dd172b2 -LLVM.v14.0.6+2.x86_64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/md5/48e47f997aa9fa9ee29b67cecb54afb9 -LLVM.v14.0.6+2.x86_64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/sha512/1974d9fd350d2ea451eca64a3a4a51b1b84e9e4a9b6a86e41c2941addca787229ed464da25d55bebab903793af096272aa327391eabd14b1c780798fef72f440 -LLVM.v14.0.6+2.x86_64-linux-musl-cxx11-llvm_version+14.tar.gz/md5/e1158414a12755d1edaf5f736408b851 -LLVM.v14.0.6+2.x86_64-linux-musl-cxx11-llvm_version+14.tar.gz/sha512/099c2eb3bf9e4aafbc8f5e206ec1aea48856549a7c48ba7a0cf9bcfcbedc64c8edf235906cd6a8917f673be4e7f01c6c6bc10fa1bf6eee8e3ce219f164134784 -LLVM.v14.0.6+2.x86_64-unknown-freebsd-llvm_version+14.asserts.tar.gz/md5/4a34df9b4a0febb1211c0f245c0e8a2e -LLVM.v14.0.6+2.x86_64-unknown-freebsd-llvm_version+14.asserts.tar.gz/sha512/5f0adda9e9f7fb34f1d6451246fc2e815edc68f489b21efa6cfdb8ad5fea1ebfe147ee55dc1b7376aa23f30ea65a221af1350a2815c2ec54023cfe13e463aaab -LLVM.v14.0.6+2.x86_64-unknown-freebsd-llvm_version+14.tar.gz/md5/4dbd878b1c71c502cfee553ca0817d69 -LLVM.v14.0.6+2.x86_64-unknown-freebsd-llvm_version+14.tar.gz/sha512/21246244ae7109f26de885965a39c88bf268476e7d2dd6139d793cefffbf84bb9a91e9bcde2656af7cff3c77c4b1e64a3dc53bc835e80e16d997103655c8fde4 -LLVM.v14.0.6+2.x86_64-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/md5/1080ce8588dbed9f2035c919db69cb7c -LLVM.v14.0.6+2.x86_64-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/sha512/d5326a7d82f3fbc4451de483496197b7ac726bffa76c0ba19bf136752e75d150a0c4e7578dc51934eeb47371ae85e176971545525ff9af293e433f11ec12cc77 -LLVM.v14.0.6+2.x86_64-w64-mingw32-cxx03-llvm_version+14.tar.gz/md5/78147126c1cba62e1617b51ba5068618 -LLVM.v14.0.6+2.x86_64-w64-mingw32-cxx03-llvm_version+14.tar.gz/sha512/6a295619bc6e314e9563f5d04a3e617a1e1e861724e9142e9df9063e57637ce881b38b4fded31356dde7f25d0e8192dc50be6aedb6c08d4b3f26aade5c020d4a -LLVM.v14.0.6+2.x86_64-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/md5/3231888c0e1448c0da3c33c651ce7346 -LLVM.v14.0.6+2.x86_64-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/sha512/ebdd2a19e0f3a572a5546fa9adcc4353d1184ef8eb89f75ed92608b2e797211ecae59feec69ceafd79724785e4ed7b0893a8a21a1e5645404f9009684f48435f -LLVM.v14.0.6+2.x86_64-w64-mingw32-cxx11-llvm_version+14.tar.gz/md5/d55f62f9c35ca2132f319e6620fbb04e -LLVM.v14.0.6+2.x86_64-w64-mingw32-cxx11-llvm_version+14.tar.gz/sha512/4f4848759df3feb37abaebb64abf56f43e8940df281f5816cbfb16e443edff16b6ea52e10dcb780d2e4c279cb45b9f50bc05f024ee96b4751276543095d00490 +LLVM.v14.0.6+3.aarch64-apple-darwin-llvm_version+14.asserts.tar.gz/md5/f8898ac241396be3f36b212dbdcc93df +LLVM.v14.0.6+3.aarch64-apple-darwin-llvm_version+14.asserts.tar.gz/sha512/cf6c73fd44d50eec0ca0846075e0c5dc49618d356d872fb631537f810301e2574d75b5d4df98d78b4b5307321d8eb726b16842fbb828df18b683303a9453341b +LLVM.v14.0.6+3.aarch64-apple-darwin-llvm_version+14.tar.gz/md5/16d5077bfa39219e5e6bf77d0451e669 +LLVM.v14.0.6+3.aarch64-apple-darwin-llvm_version+14.tar.gz/sha512/220c1c778cf3a970db45cba327426000b19138a7a9fc663713c42ec1db67092ca31c04186b517ec23d30e4c013a6387f052a3602e989ed65e2bab537333b4c59 +LLVM.v14.0.6+3.aarch64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/cfa5f23bca017bab7a770af82c26d5f6 +LLVM.v14.0.6+3.aarch64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/7bd257f6f8f6a834404626453ad5a746c3cf26cc8f0bc14b95ff28fbe5a0420d73bba035f27787eb8a383858eeaec1b3911cacf203e0ae765c340d360e87e0b9 +LLVM.v14.0.6+3.aarch64-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/cd5284fb1c68c6129c038fe346b85456 +LLVM.v14.0.6+3.aarch64-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/38772e0801d1f4b953ec05ff76742c769ed3c1dab4ff3ac2ca16fec2ae7dd29a901d551750f7403b11cd0fb0b850b80448185446c2aa668125bb876758cc0a1b +LLVM.v14.0.6+3.aarch64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/58636f7b5939a19cb3161d509c9cf074 +LLVM.v14.0.6+3.aarch64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/41532bd7a420a09311e2ba6b6f429110ce619d1b06bbf8100d79cccd7fef40ee454a0740ac888f697b5aef11349f98a82730f793130de4675ce6baa7af885b6b +LLVM.v14.0.6+3.aarch64-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/a32713673b9989f5ee9c199387f6c7cb +LLVM.v14.0.6+3.aarch64-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/6943d9548707c5f27c50c54d5faaef4ee376c16230c8b15ec54f59ac2dd20df37d4896c9f005655dcff2dcdad5cccb17189d133e9c3a8ba68fb899dc50ce0ef7 +LLVM.v14.0.6+3.aarch64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/md5/287d0c02efb240f08ff037f8661fa790 +LLVM.v14.0.6+3.aarch64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/sha512/26b04f55e400aa8e00fa7b5703348479c1f8a278279e26a87dccc316912a2649d600d93a3f31610e79d7a2ca3f98729c2b8cb54d2742a6f8622db21215310111 +LLVM.v14.0.6+3.aarch64-linux-musl-cxx03-llvm_version+14.tar.gz/md5/facba02ef69ace92495691d777476930 +LLVM.v14.0.6+3.aarch64-linux-musl-cxx03-llvm_version+14.tar.gz/sha512/dc9a44162249ab597ed2e3d795c81562abbb7f182ed53c2ed367be35524e8c507d15b74a4654c0c74038e502e14df3041b644f008abd379e6c7fbbba70551491 +LLVM.v14.0.6+3.aarch64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/md5/9cd2116f05c25e234fff49964ce2671d +LLVM.v14.0.6+3.aarch64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/sha512/ea219b1f76941fa9d712b6b8a6b3156c072c63cc0c31c003471ecefa3ed6578a8a72e8133dbc57536535ebf56de39afa6c5a1ec39427138fcd6f59684b557f88 +LLVM.v14.0.6+3.aarch64-linux-musl-cxx11-llvm_version+14.tar.gz/md5/003f3221bd28b40ec6ab9aa09dbdf636 +LLVM.v14.0.6+3.aarch64-linux-musl-cxx11-llvm_version+14.tar.gz/sha512/7168a2ddf8c86b964d02b4dcddf5f0bde4fa1dedd907b23b2eb25a70de99798a97cf05518bfa1669cdd7794a17cee0d3fed1912f33ea0627e12b927613af4fab +LLVM.v14.0.6+3.armv6l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/616c3f87030f3def3a82a12c0ab04805 +LLVM.v14.0.6+3.armv6l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/5dd8fae42aebe56733035c53c9511913deee4372ab31db7b7aa088f2e43cb6a9cdb222042b7324b366a3a411ad88aec6b337231906081983e37da447de095374 +LLVM.v14.0.6+3.armv6l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/md5/7b1745ce99166f969675392d4339d2d8 +LLVM.v14.0.6+3.armv6l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/sha512/d6fddd5805c5cbb454a93b16d95ea79ad8c1d5e8a4d4d2b181592b1a63a574392ab820e380199b1c85f83bdfc39822511dd4c274f3ee52a72fc12aeb3db437f3 +LLVM.v14.0.6+3.armv6l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/08353c3b95d7db89754e5ff218ec7a63 +LLVM.v14.0.6+3.armv6l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/7ad5dce0082e303b02fad9eb950cb0f39b9911f84b7504230026e49314ed784ee00aee085a367a460851d00471b2be15e284c084cd3d6f1256ffd604e5ed9153 +LLVM.v14.0.6+3.armv6l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/md5/d4bf8c670b24b0fa1546b0ae3cb18517 +LLVM.v14.0.6+3.armv6l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/sha512/aead293a74dba7ed80511f8b4d84791e99d1a994d690236d4cd62d5aaadf4c047a98edc33454095b065f90439b50823af440af819322bcd0d9c3c9445cc7bc68 +LLVM.v14.0.6+3.armv6l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/1fbfa0e36d3cdf63460a941dff2dadc5 +LLVM.v14.0.6+3.armv6l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/e4de2b1436a6e605ff9977d900b57acdd8c69caaaff3688e7e4b584e5d813df40d03e8553fb5ac10612f87c6a37a8a713360c6ecd1891f60581ecea6d0dedee2 +LLVM.v14.0.6+3.armv6l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/md5/47ba83307c3220be4c7e9eea0c7d3738 +LLVM.v14.0.6+3.armv6l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/sha512/f241f7ea49645a559b08af805389a05d9b4dfe4454df88a9cdfc625c0a02a6d240d85bcd21234431a294749edb8a301cddb67d5a292da92a7b85164656ab92fb +LLVM.v14.0.6+3.armv6l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/4dae8e2e6b67c664bd55ad4fa7676a15 +LLVM.v14.0.6+3.armv6l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/0ec2fab4d4631f8464bb0870149b79128c24d891f63bd6552f54dfb23010ff91685fa76824540b5feabc5c437e0b07071348ecfb595d3d60251a46b81e1684f3 +LLVM.v14.0.6+3.armv6l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/md5/64a9d279e3a97c8a30de831037296ff7 +LLVM.v14.0.6+3.armv6l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/sha512/e3993f8a6196de2d823eb9fe11658c743715624376901f3608411d96bb4a474fce0ed05c2b664b1561b682ec2ca0d4f79c8e0299fe5f1e508fa098b288bee816 +LLVM.v14.0.6+3.armv7l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/ee5fdf2fc8540c584fd6514c352cfc7c +LLVM.v14.0.6+3.armv7l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/8c274237dd92aa45f63ab88b445486cb56a4ed243f8fc223a47894d24a0fda61a4f352013660fe7e91ea73f5c0c8f2737ccd975049ed19899598054daf110d7c +LLVM.v14.0.6+3.armv7l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/md5/3781760366096b4a7fb6993163533196 +LLVM.v14.0.6+3.armv7l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/sha512/0a6710e9e24982371df4a9c7cb855e51572febd7603c5b815dff75bab71dbd56e67ceba18b62dad199fcd9d07fb52ad321db97c3ad4260d453a9a947d515d012 +LLVM.v14.0.6+3.armv7l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/90bf20ef7e47aa8485c069138b0dc8ec +LLVM.v14.0.6+3.armv7l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/2be47845cb039b332514cee2c2e1e5f7b139d575bdbb115eea3b92a6fbadd0a52c104b046c496afcc027cf8b7191dcbbeacf8b449796062217fa1aad5f5bb798 +LLVM.v14.0.6+3.armv7l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/md5/df0e5d4a5b0be0b24c66d9da374fcb05 +LLVM.v14.0.6+3.armv7l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/sha512/3e78b4246a324af11b08a9174a19506a4e0ffa90430d22616e5382a67d860485169b0db83058b6f35aa9e074b255326aaa649451d22eb6fb928e37db990af454 +LLVM.v14.0.6+3.armv7l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/13b355afda84dbc23edd6f877290af40 +LLVM.v14.0.6+3.armv7l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/2e02c2defc936f6681122820dd56aa432070f1374185a807d07c1224a8baeb653df585126553f00c1aaaf642e683e3c0948075e6a67baa963f512968f611ac2d +LLVM.v14.0.6+3.armv7l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/md5/e03360fb5ba43dbce6f26eff1772d6d2 +LLVM.v14.0.6+3.armv7l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/sha512/f538f9c263f63bac5d663e89c394934ac6752f3a40780718c5b6731bfb1963fe79cf906a5435147a9253e313401afe8895d026b8f2e457241087d800b81ea151 +LLVM.v14.0.6+3.armv7l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/252a43d72038e373004638bb78ba0964 +LLVM.v14.0.6+3.armv7l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/b9bc5f6dbeec198574cffe5554e383162b22b95532093cc102f8e06d553ef9f75ef32989ca4998656b3bdc9d4152d692116c265a2d1ff86957d2662d04494277 +LLVM.v14.0.6+3.armv7l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/md5/181d18127d7e4058e5be7c3ed7375357 +LLVM.v14.0.6+3.armv7l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/sha512/5843ff12fe3ea9ad2d691100b58c2b49318389a418837e7f4b684e82f7c048b07abd3d5ba020bd8a86e84f6c1582ae8670d106f3286884f4b8737655e4df4f28 +LLVM.v14.0.6+3.i686-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/872bdd2708fd4bf7cf76545b4f4017ac +LLVM.v14.0.6+3.i686-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/d2e56fcbf4392588252625c7bd968d94d65b2db702560ad4ce4de7bcfb47d90f7784245cf7901511c85d7edcd025a06b6bc65bc621ef345d180542b4135ecf27 +LLVM.v14.0.6+3.i686-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/82f3961594e04f578aab8ce1ed17b6ea +LLVM.v14.0.6+3.i686-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/5a3f5d328e01b9db702f72ed36fd39dd900f7b1b80bb3264b69e13dc659d97a61d2ef146e4f1c78c7db1e6074e6ad39af3216babf3d16802543f7b55faf1e6f4 +LLVM.v14.0.6+3.i686-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/d5f0d3995a9c24b776d8f60935cbbf03 +LLVM.v14.0.6+3.i686-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/00b9cd1c66fa6ba88771f7b3b970aa0a179bcc765d81e7abaf56dd93c5b7e63ccbdf83db658af2ca6baadaba711cf261ce80ba4d8684b19382b9f4aef0248bec +LLVM.v14.0.6+3.i686-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/7781851733ebaa6005d89002596ff1a6 +LLVM.v14.0.6+3.i686-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/e56c43f4e23129edd880bc20c56be469f2efe317c8eda60797cac79686601f04960bc40daa0c520c10171193fae383c17f40753ce7be445007a2cb1e4f4d8d43 +LLVM.v14.0.6+3.i686-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/md5/83106fe5c9acb5ea59a2b7467136b987 +LLVM.v14.0.6+3.i686-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/sha512/13157b1c20784aba583c26c2e1c064953debb6e29091d772187d287aad516ee5f6ab090c63aa5fcdd81738518910ad6be1d50961b006ee8d9ccf8158ca2cac16 +LLVM.v14.0.6+3.i686-linux-musl-cxx03-llvm_version+14.tar.gz/md5/1fdc73b29ca46d9cf017d06bc340b523 +LLVM.v14.0.6+3.i686-linux-musl-cxx03-llvm_version+14.tar.gz/sha512/e456ad88c470740d65e175b1d8a01aa0dfcf934ca128079717a741d1368a8392e6ee434ac77bb7dac4e521427237526144c30cc3111c514e7e32927fb936d413 +LLVM.v14.0.6+3.i686-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/md5/1c72656bc3a71900f2a1d76374709a1c +LLVM.v14.0.6+3.i686-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/sha512/4de14a92181aa877e9c18b3801bd2505115db155559772b5858279f4c65ca998a99b0226d80bdb9036a2d236a91d4e7d819378295f6c496b15973b74cb3422b2 +LLVM.v14.0.6+3.i686-linux-musl-cxx11-llvm_version+14.tar.gz/md5/57ce3641a30b58f2f4db060846526d5a +LLVM.v14.0.6+3.i686-linux-musl-cxx11-llvm_version+14.tar.gz/sha512/304d0bf4352737cbe7c1e3691d4f155f35faca70b2ecb0ae6d524a6a4276406715c66283b6571d4779b58daed247a2cd12684be39069ae8ff25dcd71a1133056 +LLVM.v14.0.6+3.i686-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/md5/8fd5f48ed4777759c92a26b31ffa5f0d +LLVM.v14.0.6+3.i686-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/sha512/98baa938c7b6171bfafbe210ad69701297bbb0f596ee0a86577f0dc21430263ce9a15ac4769273f49d3d5f16a6b43fe5d8cd06e3ed2551a6633b6f53025ddd0f +LLVM.v14.0.6+3.i686-w64-mingw32-cxx03-llvm_version+14.tar.gz/md5/3f79c7cc30d70bd3f16d62d84cb19561 +LLVM.v14.0.6+3.i686-w64-mingw32-cxx03-llvm_version+14.tar.gz/sha512/6c97668ca3dda3abbaf8518b726b3bf5d7422711038db5b50cd9f1f7b9e97b146abdcebdcca7460c99be41efd3548077451ba34d8191bd680c789481df52c65b +LLVM.v14.0.6+3.i686-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/md5/43066a80bc08622907025da96b0a1542 +LLVM.v14.0.6+3.i686-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/sha512/c1a45fa322229cada5ae3d5ac130280cf50544dee0332a93aa6814de3dde070ea00ff1c31f31957862466b215b9d0cadaf75aaecaa9b5e8fccda54ab9b45c527 +LLVM.v14.0.6+3.i686-w64-mingw32-cxx11-llvm_version+14.tar.gz/md5/d53d5ca151b6521e2360ce7b4fba2890 +LLVM.v14.0.6+3.i686-w64-mingw32-cxx11-llvm_version+14.tar.gz/sha512/52fc82850f7567e138bccf8b4a6ebe24f090c762370f02e217c778a7eb154f9b0ad19130ded4a48e0234107605f4405b9851760bf70f74bd3a151be1c5a1f576 +LLVM.v14.0.6+3.powerpc64le-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/80f628fdb92587af5ad7f9a2472467fe +LLVM.v14.0.6+3.powerpc64le-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/6afdf26db0a7c01adf33d2f8c7a6507be0192b41caaee69742179610f23ca5ae1ded96288dc4859d9646f3282002ada7aff70651df29301f02e92596a39d9114 +LLVM.v14.0.6+3.powerpc64le-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/5caa2b8f1bb313844bf5579c2c0f9bfa +LLVM.v14.0.6+3.powerpc64le-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/448f2b0c03c5969d616143f359e8a2d1fe2788ab2f0085a16838c9b65f23e90e9d998be86fb9dbb29c62dab8394b638ff9ec5562e2e750897fdc6c60f53ec4ec +LLVM.v14.0.6+3.powerpc64le-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/07c9b26fe0d10234b1f1a2dc1b97b4fa +LLVM.v14.0.6+3.powerpc64le-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/d819a0f6e14ef32c8e2d3d7d5b87f1c0447eca34a31a6708c1bf99633580d962d2520703c5eb5b649a03a68c9ee02716eeda7754c337651e4b4a04653150771f +LLVM.v14.0.6+3.powerpc64le-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/520533c4f5ccdd0eda9bbd9ef200dd2e +LLVM.v14.0.6+3.powerpc64le-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/b088c0d39c920d26afc67d3be9139b51a327356d8828ed8abc2726f80e1ffc6dbf63b29dad7df5cb0ac654eeabb74e0b704f6ce4dadf97165ed9d9f2bca5130c +LLVM.v14.0.6+3.x86_64-apple-darwin-llvm_version+14.asserts.tar.gz/md5/b00b98999dfc6da61cc551c5386d6819 +LLVM.v14.0.6+3.x86_64-apple-darwin-llvm_version+14.asserts.tar.gz/sha512/c7f59618e6f30ec38adb50fee57db6ac7456d538358d62614ee73ab1c3100ca68ecab07958d8fdfc32d30cfd621615f14a5ebab64f207caee22c51d883be780d +LLVM.v14.0.6+3.x86_64-apple-darwin-llvm_version+14.tar.gz/md5/b8de143fbe8931ebc0518ca16bd22bad +LLVM.v14.0.6+3.x86_64-apple-darwin-llvm_version+14.tar.gz/sha512/fe8bb87001f1c3fd288264fd725b037d7b976a50e89bb423c44a3643c1dbeda49b6cf2a243ef9b03b4ef9b37c3336f369c725e46ecd9096373fb944a6e6be4bb +LLVM.v14.0.6+3.x86_64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/7979d24a368752deae6d94316c5fb75c +LLVM.v14.0.6+3.x86_64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/74701aec4fda4764bb28a545f6f0657617da7ecb0550b90b6c9397b6f8e9050a5ed23f499d2e1f413bf576d9c89611ebbc9ef4d3624e7f16937d27d2d0e92d40 +LLVM.v14.0.6+3.x86_64-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/fe59d3eb8174b680d18ac6b270ac311b +LLVM.v14.0.6+3.x86_64-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/97ac0a051b5ecc77e6cee41434fb20824cb300364f6fe0622de8472e650e9f6c287122c451baa1b4e58ca8870a1d61ff81550075d440738235d4f2b65393b5e4 +LLVM.v14.0.6+3.x86_64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/402fcc09446abc303b49e6b8d255fcaa +LLVM.v14.0.6+3.x86_64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/cf936a78eff2e8bc24e629c353d375ba9999db1c92c6c95f06d889d779a480b6d2bd14ac9ec2e1612f736b8d70d788130b9c757a60385af9b45eac28bdddad4c +LLVM.v14.0.6+3.x86_64-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/64669d77f64106423dba4a209f5d6c52 +LLVM.v14.0.6+3.x86_64-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/47b3d116278315f01749a4c27f9bddb2e758c69d861e7eb43b9621ea7d632d06d06f29d83e88ba60975c42f9c2fbcf1fc8ad8f5a8ae42f363ae5fb47a48997bd +LLVM.v14.0.6+3.x86_64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/md5/b8afba947c590c67c42cf5b9a4fd89f1 +LLVM.v14.0.6+3.x86_64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/sha512/eb3c6b082c4e8e8df2b654664bc3981f3e911a40d4d90d7d15cbbd44c27822a76fb8e64168be4a2b2ec0fbb47e1fb5954f725be7a45a71c170220191c012db95 +LLVM.v14.0.6+3.x86_64-linux-musl-cxx03-llvm_version+14.tar.gz/md5/b22436fca5aa043c407e4154a56e3e20 +LLVM.v14.0.6+3.x86_64-linux-musl-cxx03-llvm_version+14.tar.gz/sha512/4333ef60825ba4453ca11171b43c53d38eff42cd90d2f44dec9919c6c937a2cec4aa886fb67e9a3978a043b0b61b4cca8de027709c7b23f93196d78de939ae79 +LLVM.v14.0.6+3.x86_64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/md5/a4ba7b2429d008fa8a33968a8b1d2e3c +LLVM.v14.0.6+3.x86_64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/sha512/897a83de22b69264ed278404b1c5c38ff64d1bd1f527d7b635ad2654dc13b480115023d5e0c0b2ecaa70f8f511b8c4716866e3b46eca96874eedb9843bf85ab8 +LLVM.v14.0.6+3.x86_64-linux-musl-cxx11-llvm_version+14.tar.gz/md5/d4a5667eba20923db7558c8b6d590058 +LLVM.v14.0.6+3.x86_64-linux-musl-cxx11-llvm_version+14.tar.gz/sha512/c8ae3ea058aad9536f9866494c32b8fbe5306d97e23a779cf1f47907fc7d5d0e7635ea4397c0670366d5da7ffd2d281fd2bf6f7977a68b6dfcb8e923d82c8f44 +LLVM.v14.0.6+3.x86_64-unknown-freebsd-llvm_version+14.asserts.tar.gz/md5/87f8c1829f04fcca61fef97044b5d04b +LLVM.v14.0.6+3.x86_64-unknown-freebsd-llvm_version+14.asserts.tar.gz/sha512/465d2c25af6af83e2a5e849e1144dd70de9563c128abd0064facf6edee9efa53b671e1d224da5169f146285d0f18659a11ad0dc54026c70ad06bf82ab3340c53 +LLVM.v14.0.6+3.x86_64-unknown-freebsd-llvm_version+14.tar.gz/md5/21702f17ddd96c8a6d964ffc0030e99a +LLVM.v14.0.6+3.x86_64-unknown-freebsd-llvm_version+14.tar.gz/sha512/ac70f188ad64b782fd941a9a8da01da9fced895373827e625263427d29fef9d7ea4e7ae4db6fefc8bc68c204111bb70c9c434ed9631e4a6d57bad02f4b262f19 +LLVM.v14.0.6+3.x86_64-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/md5/420adc5bd7205523332379a6ceb72f82 +LLVM.v14.0.6+3.x86_64-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/sha512/cd898799070339f8fea29059de5f73b396915872eb055853fb32840dfd3ba740fa5fdc2c1ff1848e261986eba9c467010ae3fb6b21d5d26046bb6780fcfd640e +LLVM.v14.0.6+3.x86_64-w64-mingw32-cxx03-llvm_version+14.tar.gz/md5/3b60cf9b472b37733161152ae25515ea +LLVM.v14.0.6+3.x86_64-w64-mingw32-cxx03-llvm_version+14.tar.gz/sha512/6cd22c25746826c227d35e06f4d028855d0888ebd82cca087e73fa3abf0e189bf0bd054539668bbba07cad3d06d819273813eb40e0ec1ff7965f8df8aa741764 +LLVM.v14.0.6+3.x86_64-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/md5/d7cd0abdfd4abbe963de65f2f068eb61 +LLVM.v14.0.6+3.x86_64-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/sha512/63e06497093d70871fdbd3f2c3b3e536643ac81b32cc38182052fe2578a0b415234678392183c50a571df258c3c213e5b657535dbbee41e5f174d5105d504697 +LLVM.v14.0.6+3.x86_64-w64-mingw32-cxx11-llvm_version+14.tar.gz/md5/77be17016e40bd4c5816b33691d63a6a +LLVM.v14.0.6+3.x86_64-w64-mingw32-cxx11-llvm_version+14.tar.gz/sha512/fe9cc457bd2a24072e1767f5de441a8a22e9a113f8623d621b57f2f0890363d326b977d0fa9f7cb6e1f451f6c80127934c9fbbe734246b393953d70f85d0e3c0 LLVMLibUnwind.v12.0.1+0.aarch64-apple-darwin.tar.gz/md5/b95ad4844e649bf46db43683b55b9f4f LLVMLibUnwind.v12.0.1+0.aarch64-apple-darwin.tar.gz/sha512/15e0996aebe6db91fe58121001aa7ea4b23685ead3c26b5d89afae34b535e34b4e801a971f4854d8e1a1fbc805cece06272470622eef863e225358113a127913 LLVMLibUnwind.v12.0.1+0.aarch64-linux-gnu.tar.gz/md5/6d8783dc9b86c9884e0877f0d8ac4167 @@ -146,123 +146,123 @@ LLVMLibUnwind.v12.0.1+0.x86_64-unknown-freebsd.tar.gz/md5/54ac594b4c8e7f261034a8 LLVMLibUnwind.v12.0.1+0.x86_64-unknown-freebsd.tar.gz/sha512/a43756afd92081e6dd7244d162862fc318b41ca110a5e8be6e4ee2d8fdfd8fb0f79961ae55e48913e055779791bd1c0ecd34fd59281fb66b3c4f24a1f44128f0 LLVMLibUnwind.v12.0.1+0.x86_64-w64-mingw32.tar.gz/md5/83cf8fc2a085a73b8af4245a82b7d32f LLVMLibUnwind.v12.0.1+0.x86_64-w64-mingw32.tar.gz/sha512/297a5c7b33bd3f57878871eccb3b9879ea5549639523a1b9db356b710cafb232906a74d668315340d60ba0c5087d3400f14ab92c3704e32e062e6b546abf7df6 -libLLVM.v14.0.6+2.aarch64-apple-darwin-llvm_version+14.asserts.tar.gz/md5/ab5a9ae6d4f42d18fa71f95b4bc86513 -libLLVM.v14.0.6+2.aarch64-apple-darwin-llvm_version+14.asserts.tar.gz/sha512/977d4f159fda3d4c18ed920c1935f32cdca743b3fc8527b90b68ed3a6375903f9b614f0bd83b9dc35b40c96ec6e6ca4e4aba6aacb3e3cd051cae5a040fa6ffb4 -libLLVM.v14.0.6+2.aarch64-apple-darwin-llvm_version+14.tar.gz/md5/c90bdd3e26729482f29164d72efefb3a -libLLVM.v14.0.6+2.aarch64-apple-darwin-llvm_version+14.tar.gz/sha512/c86257eaa3a9975cb0d61f526ae4852c66cdfde24f43e2aa7d75787dd84a620d2dccd623a540493f688a908db96d4f4ec36699927482b2612cc49dc694ae9656 -libLLVM.v14.0.6+2.aarch64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/4177bb0f67f4351b3e92383011e3d5e1 -libLLVM.v14.0.6+2.aarch64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/6f8a7795f9097e6108777fb999396a44360edbf50c889cb181512594b4ef717f0e3e4e03a92f1481b49077562685d13128ee4542a06a1b655113042c60af834b -libLLVM.v14.0.6+2.aarch64-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/43e6b5e9edda8754abfe44a85958f4da -libLLVM.v14.0.6+2.aarch64-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/f0fc52ec77f2f7570c00219784c2aa2e9642339c9a00fb8c3ccf0d0545068f8d55c126897ecc1244a22efde4840d2408f6377c8a1c6ad1d9c6ba3e6a5ac63e32 -libLLVM.v14.0.6+2.aarch64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/7545e9392b0f10ad60f36e7db7196a80 -libLLVM.v14.0.6+2.aarch64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/a56058b0d3b2415c1912364bc3f725f44d517d10e0d93462e0f7887f023da20b5f99c1262b176da46cc3acce9d79869775037b2594cff86697463ceacd48e26f -libLLVM.v14.0.6+2.aarch64-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/39d57b2e6419fe728cf091580babe118 -libLLVM.v14.0.6+2.aarch64-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/b149e3d239511fac07b55c9cdd5793529fdd5275b4680d4b3c80a187e4e97991e5285956ef2299332a36a66c8e2d4be67f21927f834e8046a462e0b54002c67a -libLLVM.v14.0.6+2.aarch64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/md5/399fc68e348d561d95c986160294cbef -libLLVM.v14.0.6+2.aarch64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/sha512/7c03de6445393a2881367b9d346ec8e8c6216c0c1b94a3f07594abd68f6a1e4ae40edec8aba984363bbf48fe29679c67174b71b4ae15feb7cfb6cdd8f0e126e9 -libLLVM.v14.0.6+2.aarch64-linux-musl-cxx03-llvm_version+14.tar.gz/md5/c3fd98354a09dec28f2c95b98b053c99 -libLLVM.v14.0.6+2.aarch64-linux-musl-cxx03-llvm_version+14.tar.gz/sha512/9f5571f87bf5ed390d37d6212899e8d2c51fa89a5f1cbb039d2dacbd6f1c7f2789787c5197dc82ede18a1ea868f3649a24449d563ff85333a43720a508af8d07 -libLLVM.v14.0.6+2.aarch64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/md5/20198f989a900a79c8d590d9c6938ef2 -libLLVM.v14.0.6+2.aarch64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/sha512/f14f771acbaa04986e835062172675e5afa3a76d9b1e5c977aa8a1f7cf37d0b51cfed13a0f19a618fd14f540649d42c7d9a06a3bdfa32a7308498963cbf0a5dc -libLLVM.v14.0.6+2.aarch64-linux-musl-cxx11-llvm_version+14.tar.gz/md5/ec8469b1ecd45be0f4ec11a51c332c64 -libLLVM.v14.0.6+2.aarch64-linux-musl-cxx11-llvm_version+14.tar.gz/sha512/52ca038d86a86b91e812b755901276ef5bc9b04cac7537216bb631f6394a46066240c76edef7e3db90d75b24e528634491f523bcd6a3686013fe3406506e8740 -libLLVM.v14.0.6+2.armv6l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/7fc93074bd66c0f8311318a031aeaa6b -libLLVM.v14.0.6+2.armv6l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/9db07db632c227d109f56fdbe503d07cdbc163a3f6b225498f700145782c4c846c2aca47a82cf174ebcef5b230f58419d1084d030932c85e671d3b5f43a5c0bf -libLLVM.v14.0.6+2.armv6l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/md5/a3b134c87c5a8eb24d02caf9a0d11ede -libLLVM.v14.0.6+2.armv6l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/sha512/fa4eb2f09f58cd3248018efce795d64f7b8e31a65fb90cb5e53fba5cc175c69e082adbaf7ba87f645508b7a7b7223d49602c8013c1d5beceaf614d66565dabd9 -libLLVM.v14.0.6+2.armv6l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/de80f238ab1969b16b26998d5d7b3f43 -libLLVM.v14.0.6+2.armv6l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/e6a626ea5731abaddf56d28e0be7080b82662471878b6e0c67dff9d10c461ab24ffbdfa1a45e91dd24277ed85d5f55126ab59139b54fcc291deeef2c5dcd72ad -libLLVM.v14.0.6+2.armv6l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/md5/75be85afadc2d42833993521ee415b58 -libLLVM.v14.0.6+2.armv6l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/sha512/fd0176144abdac37c02d3e1f2c4f27297033fa331f99d26e103b87957107afcf2e6a8db6b8beeae037f528fa5c1eec29c1079c0d62d082e8a613e63223b0f888 -libLLVM.v14.0.6+2.armv6l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/4e20e425d15b5a8be8c1f700471b0b99 -libLLVM.v14.0.6+2.armv6l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/7aa390adfe0cf046173ccf2eb4e077585fec64cb82cae1569543183be276306191b2c4bf42e7eeab536ee7886f94716936568ccac82a5f37a2633d58bcdfb539 -libLLVM.v14.0.6+2.armv6l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/md5/7c81a3e495428aa7ea58e247471f642b -libLLVM.v14.0.6+2.armv6l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/sha512/15c13bec336ec071f14640baa2ca4723212ef5a97fdae9a5b90b7a07aa1380eedfa72af27ea13fa694921be45cc799eb06622345e87eedfece2780f8b5677293 -libLLVM.v14.0.6+2.armv6l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/c365fa356c069d232c0fb58dd82ae2e0 -libLLVM.v14.0.6+2.armv6l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/afb435457c0220d3e06c6aa9361060d8fa04e1a3b0e406e1ab9b1f18c60f2e2464d08b5afd2e2251c1e38a0e4ea0470c6af05201708a51ebd55a0a37da3662fd -libLLVM.v14.0.6+2.armv6l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/md5/6d2f02e0fb213a6683e6fd229cb39458 -libLLVM.v14.0.6+2.armv6l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/sha512/6dd9f7ad806f17182d1e43c1b59fb00a3f230d9747924351c199028db6beb7c1e66fba41d58fd2c24f0aaa8a94ff2e95b8d35486a6e0b5c0f2abb37eedf593fe -libLLVM.v14.0.6+2.armv7l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/c68f787fae3c30b11b0adbc38572b4f3 -libLLVM.v14.0.6+2.armv7l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/0a094431baec6f84b8fef56446ea95c1d7e1be309d6bd71c80e7ff069573d83c1595e88f8a44c9982c87b6ce5d3d97a4def8b17c79e2fa4a1c556c64695e4be7 -libLLVM.v14.0.6+2.armv7l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/md5/4930ed9f72d3aa896a7c22bede0abfa7 -libLLVM.v14.0.6+2.armv7l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/sha512/68166a7941bd9c4121b3263ca881123958c9f589b826c0eaea2d06982566898e213aa586af44901d04bdab3c99c2bdc9e6d6d9534ac1ffe9a00eeb9ef311e056 -libLLVM.v14.0.6+2.armv7l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/493d597530b6352f52e06267b96faad2 -libLLVM.v14.0.6+2.armv7l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/bdc3ca526a84b273df908ed7deec3ecea73c66f3991e8b5d0fbf8e29b6376f6f8bc7e789615467ab2d3828d8fb76e61a22cf87fd589fa04c4910ae18944b705b -libLLVM.v14.0.6+2.armv7l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/md5/256d30ff71f384240704b543fce2471c -libLLVM.v14.0.6+2.armv7l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/sha512/353c553a5991e893a329e565919da707d3dc9ab61297c27f5fae7c74bdd1cadeedeaf3601b27357cab11a6b113bfe66f2d39f31ad328b205662e1a5d07c9c5bd -libLLVM.v14.0.6+2.armv7l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/47bbde3f4962518804468a5d7bbe79b3 -libLLVM.v14.0.6+2.armv7l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/a9e4b806cfd1d45d2e43d899a9e89e74b5c30fa82e9b83274241d919a635a5f30863573b1d509b3c61a67bc53486e5c85068e2d6221aad992ecd673e51dd53b7 -libLLVM.v14.0.6+2.armv7l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/md5/ac0a061b0b0502ecbdcba24727b05c26 -libLLVM.v14.0.6+2.armv7l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/sha512/888e440c19296f79470a46859c551e283f1cee953dc197494189e2fd7ce03f5eff07b2dd504fe8d7e0b1d522bac14f518c7803795e84dbfa33966fae965b6f90 -libLLVM.v14.0.6+2.armv7l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/6c163cf961ee1f95b365f1e8462841e4 -libLLVM.v14.0.6+2.armv7l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/e15909f72f481c242b06c7bd9fdf7d6acede33661cd383e4b33a29bbe4c1727f86255ae0c9519967e90d2606cc2446544c00eb6bc072f705fca122910cf63e16 -libLLVM.v14.0.6+2.armv7l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/md5/358d52a901a9d2ec6e97b6cf3ec324a4 -libLLVM.v14.0.6+2.armv7l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/sha512/35cd3064a55ec7bf7824146bdba1905ac065e1d9e014a836b15af6ad17b23a426bb3274971ae9ce7efd8cec7845af2897feae3db8f586772e1abe9e8bcf5143f -libLLVM.v14.0.6+2.i686-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/8ee57951124a8370b86d6c4af30300ba -libLLVM.v14.0.6+2.i686-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/9af5f771b94092e28bf36f7f8f1d5f7c510815f5af12b16215f39e2f377f206f82f9d37de35a142f89b2092125647073f1d0ede9345122b696752063c881c82a -libLLVM.v14.0.6+2.i686-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/95383b63e38ada6a4c36230a4ca9496c -libLLVM.v14.0.6+2.i686-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/7b7047fa5292a6ceb7d540006cd1f07b00d6e0f5f00c7090178e867f6f62ee0c15d6029c31a3f328f99fe3aaa8a1581f1791a212f79ce42e737f9feeaf58616b -libLLVM.v14.0.6+2.i686-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/4248ff578e33399c33c2a39c2f3d0b05 -libLLVM.v14.0.6+2.i686-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/f856964e9ab29f4b73414041eba95637506d8c01dfd6e97a982d8e5f8845e30487b3492da776a9d35696c14a9e027beb3752e2946de6e9db11070b683ca7e6c0 -libLLVM.v14.0.6+2.i686-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/d77c1501a19329d95545178f63697015 -libLLVM.v14.0.6+2.i686-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/d46d163e5bb7720b2cafab0dc664c882729307d446610753e1d9269a4f524bcec1643fce603415b8c61e11589bbc0cdf4664cb58b433eec646eea6564f78b3f9 -libLLVM.v14.0.6+2.i686-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/md5/f89572a9c10f8913b7c009ed39f41d68 -libLLVM.v14.0.6+2.i686-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/sha512/8924341540b7d57389c2b4274a51a1a7c7543783442a3b98add990a87f3c0a97a785a5106df68a5495b322b6eb3af3025526d77fbe04f6f2af57186588bedac0 -libLLVM.v14.0.6+2.i686-linux-musl-cxx03-llvm_version+14.tar.gz/md5/da07aba109f41f6fa7e8c8d9da6b3e1d -libLLVM.v14.0.6+2.i686-linux-musl-cxx03-llvm_version+14.tar.gz/sha512/82aa09aa9e2f26cd84d962d02cf239e3845a151ea1a85f770b35e25c2706f269aceaee582fb98f4cc143847ae19eb75853182cc3f30e96a064c07ae126de0666 -libLLVM.v14.0.6+2.i686-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/md5/5579bf880fcd0b8c48dab90b839e5b04 -libLLVM.v14.0.6+2.i686-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/sha512/3bbf718caf0e734a266b7930e7a23f65c6ee3ef164c9304c93c6b67066e78f5eef7b1cb7181b2043ed2cf58f1008c4d948330372304260b1f488b3c3a0538eb3 -libLLVM.v14.0.6+2.i686-linux-musl-cxx11-llvm_version+14.tar.gz/md5/dc25070c072e28204fc8eb8d14086301 -libLLVM.v14.0.6+2.i686-linux-musl-cxx11-llvm_version+14.tar.gz/sha512/8eeb20ab8a173bd0e72bed1578270b4b69d1e179aa0a1b980b7ffd9a683e9a52a611828647cccaa817a7aefbcc794ea0c586613ec7f91774a7433e8bf93fe1a2 -libLLVM.v14.0.6+2.i686-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/md5/152a803e4a3da4b9a9f178a08ff3bf32 -libLLVM.v14.0.6+2.i686-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/sha512/7088b49f0662e6f8cdaeb241d1ee3ef9779f7e9ae612f396121d9a7c1dcea7a0aef1c7313621055f255f17b16a50624d5ff288c8f8ce33d87bdf432d9263b246 -libLLVM.v14.0.6+2.i686-w64-mingw32-cxx03-llvm_version+14.tar.gz/md5/482c643fbd9865a2c8f494a3888579b7 -libLLVM.v14.0.6+2.i686-w64-mingw32-cxx03-llvm_version+14.tar.gz/sha512/2e07d0169ec7d3f2cce10f3aad7936ee12e74cd8574700d561cd935751948e8a79bdaa40bc631ace2a485190bc450dae27835f6e9bb7c11a642e562c8f34439d -libLLVM.v14.0.6+2.i686-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/md5/a42b7bf02170b1c69767e4081e43b70d -libLLVM.v14.0.6+2.i686-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/sha512/3e23ad9db83b341d04b869f67ed9f9ea3c090d3759175a2f76c614580100d1e08e66609324510696146e776c54dd3bb0f0b1a3cb175631cfd94c90e395da59db -libLLVM.v14.0.6+2.i686-w64-mingw32-cxx11-llvm_version+14.tar.gz/md5/5463c05d5da79b3f2fe0b176152e97c6 -libLLVM.v14.0.6+2.i686-w64-mingw32-cxx11-llvm_version+14.tar.gz/sha512/7d0e4ac637e04c6cd13af590c7dc4a2725541c226d7acc18d0d649c5f5689eb587a4235d6b09cf884837fd8a4d1aa71d23c33fdb1c4e61abae2bed931f8afc97 -libLLVM.v14.0.6+2.powerpc64le-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/f92359aa26292bda057b12cc08c78420 -libLLVM.v14.0.6+2.powerpc64le-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/cff0bef9edcf77511b8a16acb40def5e8667cb36c6e6d2f554ebc38389c93f3ed2746e2cbe6e5cd70596daa9bfcd0729392484c7f6056860fdbe1045521fcc67 -libLLVM.v14.0.6+2.powerpc64le-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/e49088c9b21583546e9985e5fdf66905 -libLLVM.v14.0.6+2.powerpc64le-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/6a5d449519e054ae30068417840dccda2fe03f82d95ec822ee6e22bd691c57ecd7950e4483964c5baed520a911b3c68c80f1240679eeec0b2b6f396d72d71466 -libLLVM.v14.0.6+2.powerpc64le-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/ef83ddeb912459a190cccd257622f28f -libLLVM.v14.0.6+2.powerpc64le-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/6aa4eee7b201b954b21c88de7ee85dfb940c8c07c44cf080dcac5269ab68e39276c42064d574cd5a3f6205494406be906883da1d75d8a1d84a8379387d309986 -libLLVM.v14.0.6+2.powerpc64le-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/2cd11ed664ecd61ba35a59941af4d5c7 -libLLVM.v14.0.6+2.powerpc64le-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/7364be94ec5dcc312fd1a356f05823715af2346435e1638117d9fd33f725508402a77c93eb820be41d85155dd8ba0e81cc803c74c48ace1ae92dbb826cfaa6df -libLLVM.v14.0.6+2.x86_64-apple-darwin-llvm_version+14.asserts.tar.gz/md5/0202223794e21f778f99dcaeece42613 -libLLVM.v14.0.6+2.x86_64-apple-darwin-llvm_version+14.asserts.tar.gz/sha512/ae5cac8c68c68d7a3acd480341e8d6678ad1ddaea40864e252c46f865d64cdd3f2032f7a765fa7cdd498f1b8a5fa8881a10500d497de50b2703a695814ff5604 -libLLVM.v14.0.6+2.x86_64-apple-darwin-llvm_version+14.tar.gz/md5/5eefefcb73961052d706981f62f4257a -libLLVM.v14.0.6+2.x86_64-apple-darwin-llvm_version+14.tar.gz/sha512/129da5989609018a7c6960c1fb86268e35809b062efb25d52276b21e99494272bbc55ceb584c7a761e5557d6fc21788340bd50bebef60d2e4007111e6aaae237 -libLLVM.v14.0.6+2.x86_64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/ccc65aa88718939d370f7a2843c0a7ca -libLLVM.v14.0.6+2.x86_64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/6c7dc9da261ae6d0a1a12ce03bb893492a9677f289df6b1b9e40fa35cfbebb5bc31169fe5d7291f893ee74ed7d86899488ea121b0d8b1403e615f104ab7f569d -libLLVM.v14.0.6+2.x86_64-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/f0576c099c77c09c5f27e7d3f2723d47 -libLLVM.v14.0.6+2.x86_64-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/3a5a6e39e0f8f253de61c9fa0dee1d01cc10d3a17ed583cc2c263e743be3f83f29c5e5d59a11d64da5768159c990c61996358d26576925a7f9fedc460303b511 -libLLVM.v14.0.6+2.x86_64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/73a29eb63f6d834d59776c4d9138475e -libLLVM.v14.0.6+2.x86_64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/0545ac95a2ac4d2f23a200778a13c64c2a80eacde553f5cc38dc90c5de84b3f9d0dbfcd9e3b16cf38c047e9e154c044e0c798850affdf5f917a28d08d3fc5827 -libLLVM.v14.0.6+2.x86_64-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/28eea26109c23a3059cd6e4250cb532b -libLLVM.v14.0.6+2.x86_64-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/1f42b9a15cdb2e0e0faf33ca134a90e73b61573e951a1efb284623c42111df6b8db9871cb13765cb04290caa05f3c69e80752dbe3df5f94b917d1b424d88f923 -libLLVM.v14.0.6+2.x86_64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/md5/188d846f846556d33b6adf48408a41c9 -libLLVM.v14.0.6+2.x86_64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/sha512/93dfe6af424dd2a2f7ea9e5894c88050d55c6e0b7d8b20ca44793dca36d584a49b3fc4ddb5183881b69e86285b8baa93a6f0cf1e3de54fcb283f6f18a421277c -libLLVM.v14.0.6+2.x86_64-linux-musl-cxx03-llvm_version+14.tar.gz/md5/bec621675c0d62e1e5884289e3e84b69 -libLLVM.v14.0.6+2.x86_64-linux-musl-cxx03-llvm_version+14.tar.gz/sha512/f7b20e8cc0534c59f3b7cb422df545ee963736c9fcc2941ae14294bc5bbf4adbb13ca72622518ada4fb5871b67fb2c313c4532eb17046bce9b9fe8458cac4ce8 -libLLVM.v14.0.6+2.x86_64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/md5/f204eb9d4f696cb5e7e85e539d1a2d1a -libLLVM.v14.0.6+2.x86_64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/sha512/df9697817a96e1b6bb7d69413969990cd2203aead52eaad3f576f57702d3a657e10ffd531a68b0995642f9cb3fa6961c297659351501e3a163e6cf228d4234d2 -libLLVM.v14.0.6+2.x86_64-linux-musl-cxx11-llvm_version+14.tar.gz/md5/cba1e24a29a5e490ded6eab85383c6b1 -libLLVM.v14.0.6+2.x86_64-linux-musl-cxx11-llvm_version+14.tar.gz/sha512/63319d17c6ef3313219eca4f46dc7d879c955a7e4ce5b56896f7f4b230b657718829e3f892433818493457850a2a3573fdde2298b290932bf1d0c34923f99339 -libLLVM.v14.0.6+2.x86_64-unknown-freebsd-llvm_version+14.asserts.tar.gz/md5/6355fcef3bfddb656c5ec91f755ddb0f -libLLVM.v14.0.6+2.x86_64-unknown-freebsd-llvm_version+14.asserts.tar.gz/sha512/4a1ddb2230cd62fcff69e17e223f5c8b0a191ebacae1bbf262c159381749522a1efafde0a57663ed659b0e53b6c1a9032a14342b239f95e8ae007a619dfade62 -libLLVM.v14.0.6+2.x86_64-unknown-freebsd-llvm_version+14.tar.gz/md5/070a6bb4575b60e5a14d959ce34556d1 -libLLVM.v14.0.6+2.x86_64-unknown-freebsd-llvm_version+14.tar.gz/sha512/0a47fd12c936b7cf3a9a97f2127627a44c2f577e2fb5d8bcb2b96e3d2d78a602770966a37c733b1a1bf663e37a15fe1743e0d683111d7b1fdb7dfc4510027827 -libLLVM.v14.0.6+2.x86_64-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/md5/605116c3315105515acb70c9b3ecf9f7 -libLLVM.v14.0.6+2.x86_64-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/sha512/3fb6762a8215f230a63d100feb882efd08e668dc47b5b4cca1c9565b0926b4920f5f671fc5db903d6fc3b6c445b00d2822d179ee999c614ae22ebff7a2d73659 -libLLVM.v14.0.6+2.x86_64-w64-mingw32-cxx03-llvm_version+14.tar.gz/md5/8921804e0461aeeaf1e6a484c5b392a7 -libLLVM.v14.0.6+2.x86_64-w64-mingw32-cxx03-llvm_version+14.tar.gz/sha512/af9510843a9083e363e67bc1b1fed6eca4d594c34d6a9fb8f920dff5b726dbee376f33dafaf040989e83aaced066d35f3fd90b89f4c3e0e6a1f3a11a471ad8a7 -libLLVM.v14.0.6+2.x86_64-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/md5/2bbad5e9373fc2354b9e0878663169a9 -libLLVM.v14.0.6+2.x86_64-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/sha512/adfa1edc0a4138d977fde832aaa6549b5ee38a1c0bb3b59dd9c05740569bd108c2b2b2de4e81ac06d367c9f834662fa5238972affee8bc638309e4470cd980f1 -libLLVM.v14.0.6+2.x86_64-w64-mingw32-cxx11-llvm_version+14.tar.gz/md5/605ba226b4d0d82802590eadf31d50ce -libLLVM.v14.0.6+2.x86_64-w64-mingw32-cxx11-llvm_version+14.tar.gz/sha512/992dd8cf723b986d506743f2ea345391752893b07fc0be35129afbeb4cd01d41f32c56a99b0f6a25b51787bee9a56c60ce66fce60123e8fd3fe0fa11ba051b3d -llvm-julia-14.0.6-2.tar.gz/md5/1401091c768e6c4aef468bb3fb1fac83 -llvm-julia-14.0.6-2.tar.gz/sha512/42feedbfc5866ed1fde7e15810ba5224d46e61122d5fcbb4e4c4dfe72cb898e429bdfcdf6b0712fceefd8cc5b910857d7babfd73ce65e7f8a43cec42424a7c3d +libLLVM.v14.0.6+3.aarch64-apple-darwin-llvm_version+14.asserts.tar.gz/md5/5ea3b06e462084efd39b06e1fbf348f1 +libLLVM.v14.0.6+3.aarch64-apple-darwin-llvm_version+14.asserts.tar.gz/sha512/4a39d9aab00935c9e8fc0d7c7176ba1c5729437eabd7dcefc20a7f4d85975046bd5a2b55db38bc39a6d095e74fc490d33e825ac4abaf57a2317063e1f0dc3ac3 +libLLVM.v14.0.6+3.aarch64-apple-darwin-llvm_version+14.tar.gz/md5/357e1cea81e8413f00ec5179298d54c1 +libLLVM.v14.0.6+3.aarch64-apple-darwin-llvm_version+14.tar.gz/sha512/cf4f14bc57aa41feed2c35658c64d05dc9d91d05c0babdcd78da78453a4220cbbe497acee99ab137784f0bc888d24740583aabfca1ae68a124e6ee036c1455ca +libLLVM.v14.0.6+3.aarch64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/38b0c96663e2241b1b48eba04a7c5380 +libLLVM.v14.0.6+3.aarch64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/e6cb9eddadf4158268219a78f10c41bbc6ae55fb8a7869ac6650e01254cd5e1da1ccb3b63ac6132b5d2625da5f1af186708d0d3438be4e85121d14a0fb94dbcd +libLLVM.v14.0.6+3.aarch64-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/00b7d3d04c7398fcfb0118c24c2322d2 +libLLVM.v14.0.6+3.aarch64-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/6d16e52be1643e49dcfa1c6fc069c8e021acbe8cc43b769265b2413a1a261dfddcc5128f5168cfb3a363d4cd4766be81c5f285a5a7b77021d5c0dd512ab3c94c +libLLVM.v14.0.6+3.aarch64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/218949adbbee820dd95132b7ffdc4b55 +libLLVM.v14.0.6+3.aarch64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/ca1003466cc54935af1b0960d6d9ad83bec9c4a7814184f2a0c5e5aa062e95f825a40438fe3790c8fe39051f21d494866cba37a2879e684f15175652fa08c710 +libLLVM.v14.0.6+3.aarch64-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/4d28237d915059ed2607d6999705604a +libLLVM.v14.0.6+3.aarch64-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/829c4ff056b49094abd85c63bc0378845f95467a75fffce6ecb9a6b860cb3fba92f683316ca36cbead7b3abc0ce08a9b1bb87cbb37a38c97661fdfc2efaa4524 +libLLVM.v14.0.6+3.aarch64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/md5/1da43b4df0c72775ded9a359ee4caaca +libLLVM.v14.0.6+3.aarch64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/sha512/4714bada6d77cf0a040c2853d3d0558e1f2979a31c77c51764683753444f0076b412c0c6c58646a4f3c096fd329c0095bcabaa16c8d51f8848ab385734b2a655 +libLLVM.v14.0.6+3.aarch64-linux-musl-cxx03-llvm_version+14.tar.gz/md5/950f85ab3600d19a285e78f893f692d1 +libLLVM.v14.0.6+3.aarch64-linux-musl-cxx03-llvm_version+14.tar.gz/sha512/3e5d69f14bc6380bdb96ab32ee24091275d51f702b2e53c459350792167a4724929149f5dacf075d36f38b4bcf1bdee60db85c59df841b2174c9aee12ba99e17 +libLLVM.v14.0.6+3.aarch64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/md5/d438de4f324509bef175a99c466c0309 +libLLVM.v14.0.6+3.aarch64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/sha512/7168eb8ca536ed40eaee9b9766cc5b3a6f7183a47cdc6e0020a80da266d024427fce8481cd7570128b9c5620a92503bd304f40e34704242f4ea0cb47399d5200 +libLLVM.v14.0.6+3.aarch64-linux-musl-cxx11-llvm_version+14.tar.gz/md5/2eacfaab253166b936c12e1df650bd98 +libLLVM.v14.0.6+3.aarch64-linux-musl-cxx11-llvm_version+14.tar.gz/sha512/17954baa02defb2e5b5cf0e5293bac0c84a6d7a431d6e6a7c85fa0d1cf01d3bf4dd4f4ec25689d8d003606e69642be43136d2136461e6d53a0b0627a58d6cf23 +libLLVM.v14.0.6+3.armv6l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/f2df37b8471de9dbd843fddfc478a1ca +libLLVM.v14.0.6+3.armv6l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/ca26696ef29f63478bf0abf22b9965a30cf3c4f3913fb2ddf1c8fd229e7a1af46479d253966eb72e7b4e40f1fbc767477b420c77b6c3a61f45aafd769717b626 +libLLVM.v14.0.6+3.armv6l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/md5/b870dcfc7c9f4703111b8a9684f03972 +libLLVM.v14.0.6+3.armv6l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/sha512/1e5e5252540bbbbd46df19301417936a5e8a8e4d8fb1ba18583650c5503317b915b97131aa0632b3e87d4cd07e2fff97943994bb3a3188bf8a01bd52df99fc40 +libLLVM.v14.0.6+3.armv6l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/ac9797450cfbc5cb3536cb8561fd620d +libLLVM.v14.0.6+3.armv6l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/1ef42d3fdb399605e6c6410753b663ea541b953a0ba0c721589ed8e23cbe4a45f370de41161780fd3bc0615228afe33a1bd3bbf7bdbab82e6ed16f037ad7e780 +libLLVM.v14.0.6+3.armv6l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/md5/abd5fbe08c54275be7025c8a26a46c83 +libLLVM.v14.0.6+3.armv6l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/sha512/bb480ed858d737e1439ed64acdede4bceafdefe2156c55d5944264c8ce755b662f3becadacda327cefd7362fe3d77351be214f256e6a0d1893f0293c4e596077 +libLLVM.v14.0.6+3.armv6l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/0c5dda523e96162cd5d5480646d9156a +libLLVM.v14.0.6+3.armv6l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/eddeb472c042f4b4333de4d764fb71f9ef8f742be64856c6d301f3f46c8c2c057750790c76366dfa3c6e2ccaaeee667069993d7156089014d7cc969fe41534a0 +libLLVM.v14.0.6+3.armv6l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/md5/79d9a1a3873c266b05efdde2c9d0b430 +libLLVM.v14.0.6+3.armv6l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/sha512/2bc60244ba85cb27f160c32ad28cc99351fe2a3124a4294320509be173af02ea8d246c52705206305a9d0530cbe92d12bfbaa9f667090e9698b03a1f2bcab04b +libLLVM.v14.0.6+3.armv6l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/700d1cc6027488259dea73ba9c727e5b +libLLVM.v14.0.6+3.armv6l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/47e3556d98216ec520b0687fb5b4a320f72e94e3cd640050b2d078a853083a48e3f002e6ffb6df55c9564dc5576e4d4080bbdfd3e052012f7deb989000a38b45 +libLLVM.v14.0.6+3.armv6l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/md5/656928399ba9208225fd0341e1357d2b +libLLVM.v14.0.6+3.armv6l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/sha512/ee9f43c21378ab7e821f04abab248c0e48acd0c8323bcebcfef3afae6e9cd1d674f8dbd8a2f136acba76fee02ab0af081ecdce88a3390212e943877367372861 +libLLVM.v14.0.6+3.armv7l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/e44eb8d30b68e02b8ca6803328cb5a6d +libLLVM.v14.0.6+3.armv7l-linux-gnueabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/443207f8ac1c48819e2c9acbfcbdcadce31407b152fff2a5b80947c62fa2e56c1e7345481121b0b1806ec96c272574be07c402ecd2471b660f8b8b9c499fda7b +libLLVM.v14.0.6+3.armv7l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/md5/67f20454d56fe1ea89f5a9c9eea77e85 +libLLVM.v14.0.6+3.armv7l-linux-gnueabihf-cxx03-llvm_version+14.tar.gz/sha512/94688ec1cfd9f0e3ad169e7f0ded60ebb432b8f725092a1d80f34f1f3806ac2cad353b9219cd42a0f3705483aa4442830bf68ce62482ff6c418519ff6bfe7825 +libLLVM.v14.0.6+3.armv7l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/30edf59dbd758609fb75251f68667251 +libLLVM.v14.0.6+3.armv7l-linux-gnueabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/bec840012f60f96614f46e3d297fc1b91c031ac5909298c2f7127eda98306f6655b9e3c08a55121914c932e970ba96e81d871082c333c10595c477591b981afc +libLLVM.v14.0.6+3.armv7l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/md5/bdcae8feb5cccbf074d535c3c8a05cb1 +libLLVM.v14.0.6+3.armv7l-linux-gnueabihf-cxx11-llvm_version+14.tar.gz/sha512/09cc38ca97051fca769df60a1dc71696d9c4f55d822dfd8e5f70d83a6bd28878b5c0027c8cb97664e4667ca6f9bec8f461e4a719332ff94dd7c5f35043d7e38f +libLLVM.v14.0.6+3.armv7l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/md5/a53bf9ae2af47d1fb0dfa8a693beeb7f +libLLVM.v14.0.6+3.armv7l-linux-musleabihf-cxx03-llvm_version+14.asserts.tar.gz/sha512/c11656d939570ca49f7697fe0f33c5c5057122ec6293d1bfa45ed792f20cab9affa509d59b03a98a1ebee3d0d3d5941d7bc08ff4ff0ce7401ba3c2f479f650eb +libLLVM.v14.0.6+3.armv7l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/md5/54f7d64625849703b352bc68dac6bd91 +libLLVM.v14.0.6+3.armv7l-linux-musleabihf-cxx03-llvm_version+14.tar.gz/sha512/3bfe75c57c50e97c72085b51eb6bb0ec47d1227af5c7025d88fd50ac91b39ff9cb8ba8868a88988fe7c930e5d91e9b488e69ee38300bd51122f135ea8d55f2f7 +libLLVM.v14.0.6+3.armv7l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/md5/9dfda3599c6f4c1548af05e58b061440 +libLLVM.v14.0.6+3.armv7l-linux-musleabihf-cxx11-llvm_version+14.asserts.tar.gz/sha512/20c6a5d6d2238f89f85b6700dad402321aac9c7377d4c29763a5ac616ba5b3fe42d1f83df7f3e65f7cab90190a1c44e579e045da669dc8f49e873a344c68374f +libLLVM.v14.0.6+3.armv7l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/md5/81e1c7d224066856ce143b23f6e4af49 +libLLVM.v14.0.6+3.armv7l-linux-musleabihf-cxx11-llvm_version+14.tar.gz/sha512/883aae9e85b79dd4890bad04b0820fca1d487483c8de44e21b042abbf9bb274ec0f58c3af626c55c51178acfbc332840fb893915913419572608b356fd8bf37b +libLLVM.v14.0.6+3.i686-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/358d9294cc14a4f6b73e1f243598b146 +libLLVM.v14.0.6+3.i686-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/2394b05d4949e8d20eb653385833fcd1f635fce3669b7b5ddb3db4574d001c48c8b9ddf5bad9ac08206ae4341e3ddf78a5a4c9038cc22bda95cfac1e81851830 +libLLVM.v14.0.6+3.i686-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/0fcd35d44392cfbf706b27c6d8567119 +libLLVM.v14.0.6+3.i686-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/e7e84f56340a61c4f9a511df83a84c7ab74c6887ff505cd7824039ee31ba3a3bea88a5b40a83dd38a815f7d1373bd64d6b309b874be79f3fd66c14aef5a60778 +libLLVM.v14.0.6+3.i686-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/812a478a131bb87e7a15639f41c02cda +libLLVM.v14.0.6+3.i686-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/c99129eb688905766ca486d2a0c61e2227e65cfed75f3d64497768921f527b58c3f82759416cf3da0362d57f2b4bdb7b9832fd1a2d9bb2395386c39f0d472cf7 +libLLVM.v14.0.6+3.i686-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/ca1cc07830f34f7a613f16e9e5086840 +libLLVM.v14.0.6+3.i686-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/2e75e3499adf61cea54c42a19573bcb0f2a61b0184735b473aa9f20b5097034df6d1ad82034e0b22b7aa6670271189e7dcad29e885fb62c11b298eeb552b78ff +libLLVM.v14.0.6+3.i686-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/md5/27529d1cddf3c343cc5c77abf4d1c395 +libLLVM.v14.0.6+3.i686-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/sha512/74e742157b5bb9d9ba5497851ec1d9b73e46d73d79b1706404a3e0d9e69b262d3a64380cdeeaa7b37aa5fba69a3982ab482257c8ec771afbcc398a3359b19c78 +libLLVM.v14.0.6+3.i686-linux-musl-cxx03-llvm_version+14.tar.gz/md5/728421c5ed92612cb31050c18a10c8bc +libLLVM.v14.0.6+3.i686-linux-musl-cxx03-llvm_version+14.tar.gz/sha512/91a5f334aa3621cf7e4691c9b2cc45b3f63839944a2b245b33fc96faed57cd21fd1aefe63e0667b25d46787b8039446129ec084f68b2130862cf8fe351822a7b +libLLVM.v14.0.6+3.i686-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/md5/3dc106534a7ac3c02d2429d03d70dbf3 +libLLVM.v14.0.6+3.i686-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/sha512/51b65ac973d968e4040a7a61c8b30f03732a22d42b252df0c9d92967b5a86cf93cde821ce481c11c00f44e7479a18b1a56ab5d6c4ff253ef3d7dd3eb9b0e76b3 +libLLVM.v14.0.6+3.i686-linux-musl-cxx11-llvm_version+14.tar.gz/md5/a3bcb02806f93f1d4e1a5b8bc5d45c04 +libLLVM.v14.0.6+3.i686-linux-musl-cxx11-llvm_version+14.tar.gz/sha512/135ab615b67fc014a08fa6b83b21361b2d532858051ce1f07255b606bc42c522525b1bb14e9700140e79f7655119b91aa4eada22f9680b177e8a0548d634daf8 +libLLVM.v14.0.6+3.i686-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/md5/fff6d4b614004e891b0b526fd3451df1 +libLLVM.v14.0.6+3.i686-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/sha512/855f7364e7797326fdcc1c49f08ccd12f855029e1f6684a223d3a16a827c5d78fbf8697a71a8ca083e2660f456da16c243b57f87f0458f72a07df923262079a1 +libLLVM.v14.0.6+3.i686-w64-mingw32-cxx03-llvm_version+14.tar.gz/md5/c961b55edb5bfa399ab70e2b8c80ed81 +libLLVM.v14.0.6+3.i686-w64-mingw32-cxx03-llvm_version+14.tar.gz/sha512/2e65c7d6e836b679ba6039d10cb15cc5b0ac76deb2acf7a099632efe11c78db441b58ddf6f13d2215d576acf3a979b5c347f1ccc287cd6b3e107fba9df5e264d +libLLVM.v14.0.6+3.i686-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/md5/a910109a1423922f175ff33cd55a6373 +libLLVM.v14.0.6+3.i686-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/sha512/853c4c0cf4e9c325be74c3dc35791915c08b69b37b2e80fb5db4b6a16afcbd208c08f97399e07e10be50a905b772aa11a59600dc85f42ed91abff114a5fc844c +libLLVM.v14.0.6+3.i686-w64-mingw32-cxx11-llvm_version+14.tar.gz/md5/c27f58e90a431f2779be67d49657af70 +libLLVM.v14.0.6+3.i686-w64-mingw32-cxx11-llvm_version+14.tar.gz/sha512/95d2cf9685e24d99136ffcb0368f3bb017e0a6bc1a863aae23690d1f80df61dc72982f6647876ac266e6e9c73425a639fa2c5f94af2a80de8d20979603cbb489 +libLLVM.v14.0.6+3.powerpc64le-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/56e3e6cbae412582dcb0d4669cd5c0d8 +libLLVM.v14.0.6+3.powerpc64le-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/d65f0364a9799e0df9db546dd558e117049c03e08088c144dded64b3f05f03898696b3ed568ff79b07fb9c00fbd7d6cc9f7fc4987d4d6c5e85b9037c982b3aba +libLLVM.v14.0.6+3.powerpc64le-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/8046cee5793583152dd168b7b766fe11 +libLLVM.v14.0.6+3.powerpc64le-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/a0d0208d383d8161a6dc71da6eeeca19780e3c4d81c85bd9e35b9bd814e75ff674a0ade49f4d42e6a3dd1b5389ecbbb3e70813b3780b3fb7f0c9ab8cf11a5952 +libLLVM.v14.0.6+3.powerpc64le-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/9dfe4eefe41cd5c4089116c00bef38e6 +libLLVM.v14.0.6+3.powerpc64le-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/1ede0e20bfbd468158afec5d7e68e7dc2031c68ced59ae5b2c171c65f10a32863fff74eedb350e0065efd6b88f0fbaa06e5d0458e36e5fbb1bdfdec9cde9a367 +libLLVM.v14.0.6+3.powerpc64le-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/2fe7f17e4a7129318d9374992664f491 +libLLVM.v14.0.6+3.powerpc64le-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/a3d042ab4edb82b47dc6899ac00c08cac4736d5145584f8067255930b3a7f1fc01953921a1ee74d414a2f2833b18fe865e2903eb1c560e7cea7fb1edc0f8e4f6 +libLLVM.v14.0.6+3.x86_64-apple-darwin-llvm_version+14.asserts.tar.gz/md5/f4c4bbf9be3fc51d22d24ad5d4e2885c +libLLVM.v14.0.6+3.x86_64-apple-darwin-llvm_version+14.asserts.tar.gz/sha512/bb77696308e111acd2cabfb8e813ef4243cb60e1099f87f00cc725e66e099b6ac59d5fd21fbb663b9b0b698cc67887a38e4283429f19e965e82c5c6de231342e +libLLVM.v14.0.6+3.x86_64-apple-darwin-llvm_version+14.tar.gz/md5/995758957795ec54a179d95029769409 +libLLVM.v14.0.6+3.x86_64-apple-darwin-llvm_version+14.tar.gz/sha512/2e3f59adebc5ad837236d62c64885f72cda38facf73046ccf80ec74f590ed661efabc768d6121a8159d0107c66e02ddabb2323ff02eed6c50decf783cd57e5fd +libLLVM.v14.0.6+3.x86_64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/md5/34e026ee1024bf613b04d264749324cd +libLLVM.v14.0.6+3.x86_64-linux-gnu-cxx03-llvm_version+14.asserts.tar.gz/sha512/177781edf0a99c34fb43ed5d1973fe20bb5da53c31236aa0d6e3e12b73643709234d82f88cd36efe65aec53965d48f001c471b8d66ef292164f6c5a43c58651b +libLLVM.v14.0.6+3.x86_64-linux-gnu-cxx03-llvm_version+14.tar.gz/md5/08b3804953d94cee5845a00048951455 +libLLVM.v14.0.6+3.x86_64-linux-gnu-cxx03-llvm_version+14.tar.gz/sha512/c09b58c74ac6bb9b161e15491c19ba3e59716a2c9b28a825668da51bd787927352dfbcd1db1337570559bb6d4dd12352c843b8f83d8dc95150ab184a270fd304 +libLLVM.v14.0.6+3.x86_64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/md5/1957335c8483c2bf36b9fdbb3d833c91 +libLLVM.v14.0.6+3.x86_64-linux-gnu-cxx11-llvm_version+14.asserts.tar.gz/sha512/092478aad9420da0acbdcd5ef44ad3fa2dceb8c87e7a5f8bd043d711ad9757ee1c5f796079373ae0a1b504f41c2c015c24eb79dbeb93fbb11c2ed364646cd719 +libLLVM.v14.0.6+3.x86_64-linux-gnu-cxx11-llvm_version+14.tar.gz/md5/1d013242b0a5178d18c67cdf382a7032 +libLLVM.v14.0.6+3.x86_64-linux-gnu-cxx11-llvm_version+14.tar.gz/sha512/f5876e35b0a68e2a2761bcf2cae6efd22636f0bc6c841cd35bf3e1217fa2879f16625981cb424831232a91b2f28ed97575097d1b59a682b041c4158d208aeeda +libLLVM.v14.0.6+3.x86_64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/md5/b9b62732f42240d3341f130e48472ebe +libLLVM.v14.0.6+3.x86_64-linux-musl-cxx03-llvm_version+14.asserts.tar.gz/sha512/e3bfc2c974c8b8857601af3aadc5bcd0a1dc6fc24ceea82d321d23714ebf12b7bcf34eae666ba6480e31aa9464fbf6ec9aa3905309b7ff23b7b25b848b640173 +libLLVM.v14.0.6+3.x86_64-linux-musl-cxx03-llvm_version+14.tar.gz/md5/16b9ce4c2af1c10fb0ecd4cdefb509da +libLLVM.v14.0.6+3.x86_64-linux-musl-cxx03-llvm_version+14.tar.gz/sha512/a9f11ecb1fe3c477e8187d78ff47cf9cb0bef92da0aab24ef7d25e2afb0f52bde3fce626b4314dafc08f9e3a5611fbe61c3e48b7040cbe84d3a0f3aee8015cad +libLLVM.v14.0.6+3.x86_64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/md5/048fad53865cb94f716e8503f94a37c7 +libLLVM.v14.0.6+3.x86_64-linux-musl-cxx11-llvm_version+14.asserts.tar.gz/sha512/39b73107638f8481e5e102afcab6d906ef1478965aa190bb3fe2e876c3d00d08f3fd141ef7cab69a65a77fc618bd00f26803a490a67c27cb82fc3e521487e0cc +libLLVM.v14.0.6+3.x86_64-linux-musl-cxx11-llvm_version+14.tar.gz/md5/e67157dadfc9fec9dbc96e4511714f5d +libLLVM.v14.0.6+3.x86_64-linux-musl-cxx11-llvm_version+14.tar.gz/sha512/33a3e5a78c43ca82698bf78f06d93f59086df684063cfb4e1ed061ba7a133457b36995447ed9fb61d5b3ed268c0b8ae41e0cc8e6a78f74ae4b918e64cec3de2a +libLLVM.v14.0.6+3.x86_64-unknown-freebsd-llvm_version+14.asserts.tar.gz/md5/4fd409177ea89bbb9964abec90b88157 +libLLVM.v14.0.6+3.x86_64-unknown-freebsd-llvm_version+14.asserts.tar.gz/sha512/8906304c26e9a5275daefb5d153cd49a8e58a77ec8f4320d1ccc2276a42ad0a063e55f574b489b7f51d8b8f4d324c7a67e4d6cb57f313147af5b605bc0cd7da0 +libLLVM.v14.0.6+3.x86_64-unknown-freebsd-llvm_version+14.tar.gz/md5/5008243388dc6ba6594500fe09b9545d +libLLVM.v14.0.6+3.x86_64-unknown-freebsd-llvm_version+14.tar.gz/sha512/90e53ba57bc919ee4e9bbb33d1ca7b019a0ccc275b54ef4acbf547b9e9da8b2639f040b06886c8abdedf95042745291eb293a4cb2b6cf8666b21de507faf29cb +libLLVM.v14.0.6+3.x86_64-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/md5/fa8a3b8c679a80c1e954746609320b24 +libLLVM.v14.0.6+3.x86_64-w64-mingw32-cxx03-llvm_version+14.asserts.tar.gz/sha512/c286926ca6361153f2437ac64d50f13ae2031bc489e3a7bab17209bb381b9c1468b84afe385c51226bf9fd1631217d7cfe736e1dedceecb407289220c4907ba2 +libLLVM.v14.0.6+3.x86_64-w64-mingw32-cxx03-llvm_version+14.tar.gz/md5/eade937b5aebf503090b4a1fd64aaceb +libLLVM.v14.0.6+3.x86_64-w64-mingw32-cxx03-llvm_version+14.tar.gz/sha512/50404c2dfda3da541ea8ec21eee404cf79f065560b7aa58980e87ff993689aa5e9f031355c7a0edf73297c65ad1734398951573c53b706f814bec70933cb9062 +libLLVM.v14.0.6+3.x86_64-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/md5/a04d985f3538fe441757c38d837df80f +libLLVM.v14.0.6+3.x86_64-w64-mingw32-cxx11-llvm_version+14.asserts.tar.gz/sha512/86b3d4851748650872d2c0e96cccf1fb1e49d8848cac186754c0360f1f770310046a54964fc9dc323e568c0b316a7fe7a2bc8b517c6ca973f7faf98773ac80cc +libLLVM.v14.0.6+3.x86_64-w64-mingw32-cxx11-llvm_version+14.tar.gz/md5/1477d88e814d20e1f97dc3497e073b08 +libLLVM.v14.0.6+3.x86_64-w64-mingw32-cxx11-llvm_version+14.tar.gz/sha512/412597249d593598078c57ca4d576e69012c59d013db4c452e9d3927dba7122a1608db87956a44d36aa8563de3683f2e718e81e1debff6ca3ed79c73d0dfb8f8 +llvm-julia-14.0.6-3.tar.gz/md5/6f81ab7585990c5a4be462dcab508c1c +llvm-julia-14.0.6-3.tar.gz/sha512/75f38482042256e1e07ca5d7a949b0722865967df09fb0cb0d8f6bebd8864c08ce62afcf9af680b0cbed922a1abd90407a8bd5f73f421bde747482b0c15c6691 llvmunwind-12.0.1.tar.xz/md5/4ec327cee517fdb1f6a20e83748e2c7b llvmunwind-12.0.1.tar.xz/sha512/847b6ba03010a43f4fdbfdc49bf16d18fd18474d01584712e651b11191814bf7c1cf53475021d9ee447ed78413202b4ed97973d7bdd851d3e49f8d06f55a7af4 diff --git a/deps/clang.version b/deps/clang.version index d10ae4340ce6c..5e08026317a8b 100644 --- a/deps/clang.version +++ b/deps/clang.version @@ -1,4 +1,4 @@ ## jll artifact # Clang (paired with LLVM, only here as a JLL download) CLANG_JLL_NAME := Clang -CLANG_JLL_VER := 14.0.6+2 +CLANG_JLL_VER := 14.0.6+3 diff --git a/deps/llvm-tools.version b/deps/llvm-tools.version index 236c76ca407ab..d809e59ff4c02 100644 --- a/deps/llvm-tools.version +++ b/deps/llvm-tools.version @@ -1,5 +1,5 @@ ## jll artifact # LLVM_tools (downloads LLVM_jll to get things like `lit` and `opt`) LLVM_TOOLS_JLL_NAME := LLVM -LLVM_TOOLS_JLL_VER := 14.0.6+2 -LLVM_TOOLS_ASSERT_JLL_VER := 14.0.6+2 +LLVM_TOOLS_JLL_VER := 14.0.6+3 +LLVM_TOOLS_ASSERT_JLL_VER := 14.0.6+3 diff --git a/deps/llvm.version b/deps/llvm.version index 64ed012bc9989..a962a94a50e05 100644 --- a/deps/llvm.version +++ b/deps/llvm.version @@ -4,5 +4,5 @@ LLVM_ASSERT_JLL_VER := 14.0.5+3 ## source build LLVM_VER := 14.0.5 -LLVM_BRANCH=julia-14.0.6-2 -LLVM_SHA1=julia-14.0.6-2 +LLVM_BRANCH=julia-14.0.6-3 +LLVM_SHA1=julia-14.0.6-3 diff --git a/stdlib/libLLVM_jll/Project.toml b/stdlib/libLLVM_jll/Project.toml index 119eb8755424d..be34e53f94789 100644 --- a/stdlib/libLLVM_jll/Project.toml +++ b/stdlib/libLLVM_jll/Project.toml @@ -1,6 +1,6 @@ name = "libLLVM_jll" uuid = "8f36deef-c2a5-5394-99ed-8e07531fb29a" -version = "14.0.6+2" +version = "14.0.6+3" [deps] Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb" From faeb43bfcd36e3467409f414918891c67324049f Mon Sep 17 00:00:00 2001 From: N5N3 <2642243996@qq.com> Date: Sun, 23 Apr 2023 00:59:49 +0800 Subject: [PATCH 22/30] Subtype: Improve `simple_meet` resolution for `Union` inputs (#49376) * Improve `simple_meet` resolution. * Fix for many-to-one cases. * Test disjoint via `jl_has_empty_intersection` --- src/jltypes.c | 138 ++++++++++++++++++++++++++++++++++++++++++++++++ src/subtype.c | 26 ++++----- test/subtype.jl | 8 +++ 3 files changed, 155 insertions(+), 17 deletions(-) diff --git a/src/jltypes.c b/src/jltypes.c index 116efa705558f..04880829e59ce 100644 --- a/src/jltypes.c +++ b/src/jltypes.c @@ -523,6 +523,144 @@ JL_DLLEXPORT jl_value_t *jl_type_union(jl_value_t **ts, size_t n) return tu; } +static int simple_subtype2(jl_value_t *a, jl_value_t *b, int hasfree) +{ + int subab = 0, subba = 0; + if (jl_egal(a, b)) { + subab = subba = 1; + } + else if (a == jl_bottom_type || b == (jl_value_t*)jl_any_type) { + subab = 1; + } + else if (b == jl_bottom_type || a == (jl_value_t*)jl_any_type) { + subba = 1; + } + else if (hasfree) { + // subab = simple_subtype(a, b); + // subba = simple_subtype(b, a); + } + else if (jl_is_type_type(a) && jl_is_type_type(b) && + jl_typeof(jl_tparam0(a)) != jl_typeof(jl_tparam0(b))) { + // issue #24521: don't merge Type{T} where typeof(T) varies + } + else if (jl_typeof(a) == jl_typeof(b) && jl_types_egal(a, b)) { + subab = subba = 1; + } + else { + subab = jl_subtype(a, b); + subba = jl_subtype(b, a); + } + return subab | (subba<<1); +} + +int obviously_disjoint(jl_value_t *a, jl_value_t *b, int specificity); + +static int simple_disjoint(jl_value_t *a, jl_value_t *b, int hasfree) +{ + if (jl_is_uniontype(b)) { + jl_value_t *b1 = ((jl_uniontype_t *)b)->a, *b2 = ((jl_uniontype_t *)b)->b; + JL_GC_PUSH2(&b1, &b2); + int res = simple_disjoint(a, b1, hasfree) && simple_disjoint(a, b2, hasfree); + JL_GC_POP(); + return res; + } + if (!hasfree && !jl_has_free_typevars(b)) + return jl_has_empty_intersection(a, b); + return obviously_disjoint(a, b, 0); +} + +jl_value_t *simple_intersect(jl_value_t *a, jl_value_t *b, int overesi) +{ + // Unlike `Union`, we don't unwrap `UnionAll` here to avoid possible widening. + size_t nta = count_union_components(&a, 1); + size_t ntb = count_union_components(&b, 1); + size_t nt = nta + ntb; + jl_value_t **temp; + JL_GC_PUSHARGS(temp, nt+1); + size_t count = 0; + flatten_type_union(&a, 1, temp, &count); + flatten_type_union(&b, 1, temp, &count); + assert(count == nt); + size_t i, j; + // first remove disjoint elements. + for (i = 0; i < nt; i++) { + if (simple_disjoint(temp[i], (i < nta ? b : a), jl_has_free_typevars(temp[i]))) + temp[i] = NULL; + } + // then check subtyping. + // stemp[k] == -1 : ∃i temp[k] >:ₛ temp[i] + // stemp[k] == 1 : ∃i temp[k] == temp[i] + // stemp[k] == 2 : ∃i temp[k] <:ₛ temp[i] + int8_t *stemp = (int8_t *)alloca(count); + memset(stemp, 0, count); + for (i = 0; i < nta; i++) { + if (temp[i] == NULL) continue; + int hasfree = jl_has_free_typevars(temp[i]); + for (j = nta; j < nt; j++) { + if (temp[j] == NULL) continue; + int subs = simple_subtype2(temp[i], temp[j], hasfree || jl_has_free_typevars(temp[j])); + int subab = subs & 1, subba = subs >> 1; + if (subba && !subab) { + stemp[i] = -1; + if (stemp[j] >= 0) stemp[j] = 2; + } + else if (subab && !subba) { + stemp[j] = -1; + if (stemp[i] >= 0) stemp[i] = 2; + } + else if (subs) { + if (stemp[i] == 0) stemp[i] = 1; + if (stemp[j] == 0) stemp[j] = 1; + } + } + } + int subs[2] = {1, 1}, rs[2] = {1, 1}; + for (i = 0; i < nt; i++) { + subs[i >= nta] &= (temp[i] == NULL || stemp[i] > 0); + rs[i >= nta] &= (temp[i] != NULL && stemp[i] > 0); + } + // return a(b) if a(b) <: b(a) + if (rs[0]) { + JL_GC_POP(); + return a; + } + if (rs[1]) { + JL_GC_POP(); + return b; + } + // return `Union{}` for `merge_env` if we can't prove `<:` or `>:` + if (!overesi && !subs[0] && !subs[1]) { + JL_GC_POP(); + return jl_bottom_type; + } + nt = subs[0] ? nta : subs[1] ? nt : nt; + i = subs[0] ? 0 : subs[1] ? nta : 0; + count = nt - i; + if (!subs[0] && !subs[1]) { + // prepare for over estimation + // only preserve `a` with strict <:, but preserve `b` without strict >: + for (j = 0; j < nt; j++) { + if (stemp[j] < (j < nta ? 2 : 0)) + temp[j] = NULL; + } + } + isort_union(&temp[i], count); + temp[nt] = jl_bottom_type; + size_t k; + for (k = nt; k-- > i; ) { + if (temp[k] != NULL) { + if (temp[nt] == jl_bottom_type) + temp[nt] = temp[k]; + else + temp[nt] = jl_new_struct(jl_uniontype_type, temp[k], temp[nt]); + } + } + assert(temp[nt] != NULL); + jl_value_t *tu = temp[nt]; + JL_GC_POP(); + return tu; +} + // unionall types ------------------------------------------------------------- JL_DLLEXPORT jl_value_t *jl_type_unionall(jl_tvar_t *v, jl_value_t *body) diff --git a/src/subtype.c b/src/subtype.c index e07ea73d6158d..fedaa6bcfabb9 100644 --- a/src/subtype.c +++ b/src/subtype.c @@ -355,7 +355,7 @@ static int in_union(jl_value_t *u, jl_value_t *x) JL_NOTSAFEPOINT return in_union(((jl_uniontype_t*)u)->a, x) || in_union(((jl_uniontype_t*)u)->b, x); } -static int obviously_disjoint(jl_value_t *a, jl_value_t *b, int specificity) +int obviously_disjoint(jl_value_t *a, jl_value_t *b, int specificity) { if (a == b || a == (jl_value_t*)jl_any_type || b == (jl_value_t*)jl_any_type) return 0; @@ -479,9 +479,11 @@ static jl_value_t *simple_join(jl_value_t *a, jl_value_t *b) return jl_new_struct(jl_uniontype_type, a, b); } -// compute a greatest lower bound of `a` and `b` -// in many cases, we need to over-estimate this by returning `b`. -static jl_value_t *simple_meet(jl_value_t *a, jl_value_t *b) +jl_value_t *simple_intersect(jl_value_t *a, jl_value_t *b, int overesi); +// Compute a greatest lower bound of `a` and `b` +// For the subtype path, we need to over-estimate this by returning `b` in many cases. +// But for `merge_env`, we'd better under-estimate and return a `Union{}` +static jl_value_t *simple_meet(jl_value_t *a, jl_value_t *b, int overesi) { if (a == (jl_value_t*)jl_any_type || b == jl_bottom_type || obviously_egal(a,b)) return b; @@ -489,10 +491,6 @@ static jl_value_t *simple_meet(jl_value_t *a, jl_value_t *b) return a; if (!(jl_is_type(a) || jl_is_typevar(a)) || !(jl_is_type(b) || jl_is_typevar(b))) return jl_bottom_type; - if (jl_is_uniontype(a) && in_union(a, b)) - return b; - if (jl_is_uniontype(b) && in_union(b, a)) - return a; if (jl_is_kind(a) && jl_is_type_type(b) && jl_typeof(jl_tparam0(b)) == a) return b; if (jl_is_kind(b) && jl_is_type_type(a) && jl_typeof(jl_tparam0(a)) == b) @@ -501,13 +499,7 @@ static jl_value_t *simple_meet(jl_value_t *a, jl_value_t *b) return a; if (jl_is_typevar(b) && obviously_egal(a, ((jl_tvar_t*)b)->ub)) return b; - if (obviously_disjoint(a, b, 0)) - return jl_bottom_type; - if (!jl_has_free_typevars(a) && !jl_has_free_typevars(b)) { - if (jl_subtype(a, b)) return a; - if (jl_subtype(b, a)) return b; - } - return b; + return simple_intersect(a, b, overesi); } static jl_unionall_t *rename_unionall(jl_unionall_t *u) @@ -652,7 +644,7 @@ static int var_lt(jl_tvar_t *b, jl_value_t *a, jl_stenv_t *e, int param) JL_GC_POP(); } else { - bb->ub = simple_meet(bb->ub, a); + bb->ub = simple_meet(bb->ub, a, 1); } assert(bb->ub != (jl_value_t*)b); if (jl_is_typevar(a)) { @@ -3303,7 +3295,7 @@ static int merge_env(jl_stenv_t *e, jl_value_t **root, jl_savedenv_t *se, int co while (v != NULL) { b1 = jl_svecref(*root, n); b2 = v->lb; - jl_svecset(*root, n, simple_meet(b1, b2)); + jl_svecset(*root, n, simple_meet(b1, b2, 0)); b1 = jl_svecref(*root, n+1); b2 = v->ub; jl_svecset(*root, n+1, simple_join(b1, b2)); diff --git a/test/subtype.jl b/test/subtype.jl index 5e2e9acc6db81..4629eac5a9429 100644 --- a/test/subtype.jl +++ b/test/subtype.jl @@ -2331,3 +2331,11 @@ end # requires assertions enabled (to test union-split in `obviously_disjoint`) @test !<:(Tuple{Type{Int}, Int}, Tuple{Type{Union{Int, T}}, T} where T<:Union{Int8,Int16}) @test <:(Tuple{Type{Int}, Int}, Tuple{Type{Union{Int, T}}, T} where T<:Union{Int8,Int}) + +#issue #49354 (requires assertions enabled) +@test !<:(Tuple{Type{Union{Int, Val{1}}}, Int}, Tuple{Type{Union{Int, T1}}, T1} where T1<:Val) +@test !<:(Tuple{Type{Union{Int, Val{1}}}, Int}, Tuple{Type{Union{Int, T1}}, T1} where T1<:Union{Val,Pair}) +@test <:(Tuple{Type{Union{Int, Val{1}}}, Int}, Tuple{Type{Union{Int, T1}}, T1} where T1<:Union{Integer,Val}) +@test <:(Tuple{Type{Union{Int, Int8}}, Int}, Tuple{Type{Union{Int, T1}}, T1} where T1<:Integer) +@test !<:(Tuple{Type{Union{Pair{Int, Any}, Pair{Int, Int}}}, Pair{Int, Any}}, + Tuple{Type{Union{Pair{Int, Any}, T1}}, T1} where T1<:(Pair{T,T} where {T})) From f89f5d9788788dedd90d0f37c6305636d5780759 Mon Sep 17 00:00:00 2001 From: Sukera <11753998+Seelengrab@users.noreply.github.com> Date: Wed, 15 Mar 2023 14:45:42 +0100 Subject: [PATCH 23/30] Enable the AVR backend of LLVM (#49006) Co-authored-by: Sukera (cherry picked from commit 4beea98a8828fa8478e64a1495d978d8d4d50e11) --- deps/llvm.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/llvm.mk b/deps/llvm.mk index e64da6908a276..93e4cd0b80e48 100644 --- a/deps/llvm.mk +++ b/deps/llvm.mk @@ -64,7 +64,7 @@ endif LLVM_LIB_FILE := libLLVMCodeGen.a # Figure out which targets to build -LLVM_TARGETS := host;NVPTX;AMDGPU;WebAssembly;BPF +LLVM_TARGETS := host;NVPTX;AMDGPU;WebAssembly;BPF;AVR LLVM_EXPERIMENTAL_TARGETS := LLVM_CFLAGS := From cbc4f49d784ac2131db726f804ad76b9a8439743 Mon Sep 17 00:00:00 2001 From: Kristoffer Carlsson Date: Thu, 20 Apr 2023 16:50:22 +0200 Subject: [PATCH 24/30] prevent `display` in REPL from erroring on non standard prompts (#49383) (cherry picked from commit bb118c99ce5b08dc1be2c88a4f9d561646b06d63) --- stdlib/REPL/src/REPL.jl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/stdlib/REPL/src/REPL.jl b/stdlib/REPL/src/REPL.jl index 08e6f3fbbb025..19f46c472ba72 100644 --- a/stdlib/REPL/src/REPL.jl +++ b/stdlib/REPL/src/REPL.jl @@ -264,7 +264,9 @@ function display(d::REPLDisplay, mime::MIME"text/plain", x) if d.repl isa LineEditREPL mistate = d.repl.mistate mode = LineEdit.mode(mistate) - LineEdit.write_output_prefix(io, mode, get(io, :color, false)::Bool) + if mode isa LineEdit.Prompt + LineEdit.write_output_prefix(io, mode, get(io, :color, false)::Bool) + end end get(io, :color, false)::Bool && write(io, answer_color(d.repl)) if isdefined(d.repl, :options) && isdefined(d.repl.options, :iocontext) From f6561cec35c9d7d3964888d00ec6cf7e6bcd9217 Mon Sep 17 00:00:00 2001 From: Tim Holy Date: Fri, 21 Apr 2023 15:20:31 -0500 Subject: [PATCH 25/30] Add missing entry to invalidation log (#49449) * Add missing entry to invalidation log Addresses https://github.com/timholy/SnoopCompile.jl/issues/357#issuecomment-1516228631 using the observation in the following comment. Co-authored-by: Jameson Nash * Fix indentation --------- Co-authored-by: Jameson Nash (cherry picked from commit 23a5b04a01a7429442b80931cdc36b5410e33f89) --- src/staticdata_utils.c | 20 ++++++++++---------- test/precompile.jl | 10 +++++++++- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/staticdata_utils.c b/src/staticdata_utils.c index 9bbcf5ece0caa..898eec579c0d9 100644 --- a/src/staticdata_utils.c +++ b/src/staticdata_utils.c @@ -1013,18 +1013,18 @@ static int jl_verify_graph_edge(size_t *maxvalids2_data, jl_array_t *edges, size if (idx != childidx) { if (max_valid < maxvalids2_data[childidx]) maxvalids2_data[childidx] = max_valid; - if (_jl_debug_method_invalidation && max_valid != ~(size_t)0) { - jl_method_instance_t *mi = (jl_method_instance_t*)jl_array_ptr_ref(edges, childidx * 2); - jl_value_t *loctag = NULL; - JL_GC_PUSH1(&loctag); - jl_array_ptr_1d_push(_jl_debug_method_invalidation, (jl_value_t*)mi); - loctag = jl_cstr_to_string("verify_methods"); - jl_array_ptr_1d_push(_jl_debug_method_invalidation, loctag); - jl_array_ptr_1d_push(_jl_debug_method_invalidation, (jl_value_t*)cause); - JL_GC_POP(); - } } visited->items[childidx] = (void*)1; + if (_jl_debug_method_invalidation && max_valid != ~(size_t)0) { + jl_method_instance_t *mi = (jl_method_instance_t*)jl_array_ptr_ref(edges, childidx * 2); + jl_value_t *loctag = NULL; + JL_GC_PUSH1(&loctag); + jl_array_ptr_1d_push(_jl_debug_method_invalidation, (jl_value_t*)mi); + loctag = jl_cstr_to_string("verify_methods"); + jl_array_ptr_1d_push(_jl_debug_method_invalidation, loctag); + jl_array_ptr_1d_push(_jl_debug_method_invalidation, (jl_value_t*)cause); + JL_GC_POP(); + } } return 0; } diff --git a/test/precompile.jl b/test/precompile.jl index da44f4740d185..8327a5d4f9060 100644 --- a/test/precompile.jl +++ b/test/precompile.jl @@ -843,9 +843,13 @@ precompile_test_harness("code caching") do dir # This will be invalidated if StaleC is loaded useA() = $StaleA.stale("hello") + useA2() = useA() # force precompilation - useA() + begin + Base.Experimental.@force_compile + useA2() + end ## Reporting tests call_nbits(x::Integer) = $StaleA.nbits(x) @@ -926,6 +930,10 @@ precompile_test_harness("code caching") do dir @test invalidations[j-1] == "insert_backedges_callee" @test isa(invalidations[j-2], Type) @test isa(invalidations[j+1], Vector{Any}) # [nbits(::UInt8)] + m = only(methods(MB.useA2)) + mi = only(Base.specializations(m)) + @test !hasvalid(mi, world) + @test mi ∈ invalidations m = only(methods(MB.map_nbits)) @test !hasvalid(m.specializations[1], world+1) # insert_backedges invalidations also trigger their backedges From 7c6dd4c70ccad389e13fee544af6df51d47c1cf7 Mon Sep 17 00:00:00 2001 From: Kristoffer Carlsson Date: Sat, 22 Apr 2023 20:37:09 +0200 Subject: [PATCH 26/30] make extension not load twice on workers (#49441) (cherry picked from commit b1c0eac0d8d1acecd321cea26459ff6443e9aaa9) --- base/loading.jl | 5 +++ stdlib/Distributed/src/Distributed.jl | 3 ++ test/loading.jl | 47 +++++++++++++++++---------- 3 files changed, 38 insertions(+), 17 deletions(-) diff --git a/base/loading.jl b/base/loading.jl index 8d428b421d238..cb60c6cd27117 100644 --- a/base/loading.jl +++ b/base/loading.jl @@ -1189,9 +1189,12 @@ function _insert_extension_triggers(parent::PkgId, extensions::Dict{String, <:An end end +loading_extension::Bool = false function run_extension_callbacks(extid::ExtensionId) assert_havelock(require_lock) succeeded = try + # Used by Distributed to now load extensions in the package callback + global loading_extension = true _require_prelocked(extid.id) @debug "Extension $(extid.id.name) of $(extid.parentid.name) loaded" true @@ -1201,6 +1204,8 @@ function run_extension_callbacks(extid::ExtensionId) @error "Error during loading of extension $(extid.id.name) of $(extid.parentid.name), \ use `Base.retry_load_extensions()` to retry." exception=errs false + finally + global loading_extension = false end return succeeded end diff --git a/stdlib/Distributed/src/Distributed.jl b/stdlib/Distributed/src/Distributed.jl index 3bcbc7b67f60d..56a5014b3e072 100644 --- a/stdlib/Distributed/src/Distributed.jl +++ b/stdlib/Distributed/src/Distributed.jl @@ -76,6 +76,9 @@ function _require_callback(mod::Base.PkgId) # broadcast top-level (e.g. from Main) import/using from node 1 (only) @sync for p in procs() p == 1 && continue + # Extensions are already loaded on workers by their triggers being loaded + # so no need to fire the callback upon extension being loaded on master. + Base.loading_extension && continue @async_unwrap remotecall_wait(p) do Base.require(mod) nothing diff --git a/test/loading.jl b/test/loading.jl index 24cca245ae4cb..05f376f3f51a0 100644 --- a/test/loading.jl +++ b/test/loading.jl @@ -1003,34 +1003,47 @@ end try proj = joinpath(@__DIR__, "project", "Extensions", "HasDepWithExtensions.jl") - function gen_extension_cmd(compile) - ```$(Base.julia_cmd()) $compile --startup-file=no -e ' - begin - push!(empty!(DEPOT_PATH), '$(repr(depot_path))') - using HasExtensions - Base.get_extension(HasExtensions, :Extension) === nothing || error("unexpectedly got an extension") - HasExtensions.ext_loaded && error("ext_loaded set") - using HasDepWithExtensions - Base.get_extension(HasExtensions, :Extension).extvar == 1 || error("extvar in Extension not set") - HasExtensions.ext_loaded || error("ext_loaded not set") - HasExtensions.ext_folder_loaded && error("ext_folder_loaded set") - HasDepWithExtensions.do_something() || error("do_something errored") - using ExtDep2 - HasExtensions.ext_folder_loaded || error("ext_folder_loaded not set") - end - ' - ``` + function gen_extension_cmd(compile, distr=false) + load_distr = distr ? "using Distributed; addprocs(1)" : "" + ew = distr ? "@everywhere" : "" + cmd = """ + $load_distr + begin + $ew push!(empty!(DEPOT_PATH), $(repr(depot_path))) + using HasExtensions + $ew using HasExtensions + $ew Base.get_extension(HasExtensions, :Extension) === nothing || error("unexpectedly got an extension") + $ew HasExtensions.ext_loaded && error("ext_loaded set") + using HasDepWithExtensions + $ew using HasDepWithExtensions + $ew Base.get_extension(HasExtensions, :Extension).extvar == 1 || error("extvar in Extension not set") + $ew HasExtensions.ext_loaded || error("ext_loaded not set") + $ew HasExtensions.ext_folder_loaded && error("ext_folder_loaded set") + $ew HasDepWithExtensions.do_something() || error("do_something errored") + using ExtDep2 + $ew using ExtDep2 + $ew HasExtensions.ext_folder_loaded || error("ext_folder_loaded not set") + end + """ + return `$(Base.julia_cmd()) $compile --startup-file=no -e $cmd` end for compile in (`--compiled-modules=no`, ``, ``) # Once when requiring precompilation, once where it is already precompiled cmd = gen_extension_cmd(compile) cmd = addenv(cmd, "JULIA_LOAD_PATH" => proj) cmd = pipeline(cmd; stdout, stderr) + @show compile @test success(cmd) end sep = Sys.iswindows() ? ';' : ':' + cmd = gen_extension_cmd(``, true) + cmd = addenv(cmd, "JULIA_LOAD_PATH" => join([proj, "@stdlib"], sep)) + str = read(cmd, String) + @test !occursin("Error during loading of extension", str) + @test !occursin("ConcurrencyViolationError", str) + # 48351 cmd = gen_extension_cmd(``) cmd = addenv(cmd, "JULIA_LOAD_PATH" => join([mktempdir(), proj], sep)) From 29889c7a1c6367591a2c35dea86735a5460e0667 Mon Sep 17 00:00:00 2001 From: Tim Holy Date: Sun, 23 Apr 2023 07:57:05 -0500 Subject: [PATCH 27/30] Extract specializations, 1.9-style (#49467) --- test/precompile.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/precompile.jl b/test/precompile.jl index 8327a5d4f9060..006c0ae06ced4 100644 --- a/test/precompile.jl +++ b/test/precompile.jl @@ -931,7 +931,7 @@ precompile_test_harness("code caching") do dir @test isa(invalidations[j-2], Type) @test isa(invalidations[j+1], Vector{Any}) # [nbits(::UInt8)] m = only(methods(MB.useA2)) - mi = only(Base.specializations(m)) + mi = first(m.specializations) @test !hasvalid(mi, world) @test mi ∈ invalidations From a666aabae40d502cefc8f4351ae7bae7a75cd62b Mon Sep 17 00:00:00 2001 From: N5N3 <2642243996@qq.com> Date: Sun, 23 Apr 2023 21:19:43 +0800 Subject: [PATCH 28/30] Subtype: minor optimization for `simple_intersect` 1. remove duplicated disjoint check. 2. add a fast path for all disjoint case. (cherry picked from commit f2560c2e25228744bed817a4c4752117b29eb4e5) --- src/jltypes.c | 61 +++++++++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 31 deletions(-) diff --git a/src/jltypes.c b/src/jltypes.c index 04880829e59ce..bf1fd6d455f27 100644 --- a/src/jltypes.c +++ b/src/jltypes.c @@ -555,20 +555,6 @@ static int simple_subtype2(jl_value_t *a, jl_value_t *b, int hasfree) int obviously_disjoint(jl_value_t *a, jl_value_t *b, int specificity); -static int simple_disjoint(jl_value_t *a, jl_value_t *b, int hasfree) -{ - if (jl_is_uniontype(b)) { - jl_value_t *b1 = ((jl_uniontype_t *)b)->a, *b2 = ((jl_uniontype_t *)b)->b; - JL_GC_PUSH2(&b1, &b2); - int res = simple_disjoint(a, b1, hasfree) && simple_disjoint(a, b2, hasfree); - JL_GC_POP(); - return res; - } - if (!hasfree && !jl_has_free_typevars(b)) - return jl_has_empty_intersection(a, b); - return obviously_disjoint(a, b, 0); -} - jl_value_t *simple_intersect(jl_value_t *a, jl_value_t *b, int overesi) { // Unlike `Union`, we don't unwrap `UnionAll` here to avoid possible widening. @@ -582,19 +568,31 @@ jl_value_t *simple_intersect(jl_value_t *a, jl_value_t *b, int overesi) flatten_type_union(&b, 1, temp, &count); assert(count == nt); size_t i, j; + int8_t *stemp = (int8_t *)alloca(count); // first remove disjoint elements. + memset(stemp, 0, count); + for (i = 0; i < nta; i++) { + int hasfree = jl_has_free_typevars(temp[i]); + for (j = nta; j < nt; j++) { + if (!stemp[i] || !stemp[j]) { + int intersect = !hasfree && !jl_has_free_typevars(temp[j]); + if (!(intersect ? jl_has_empty_intersection(temp[i], temp[j]) : obviously_disjoint(temp[i], temp[j], 0))) + stemp[i] = stemp[j] = 1; + } + } + } for (i = 0; i < nt; i++) { - if (simple_disjoint(temp[i], (i < nta ? b : a), jl_has_free_typevars(temp[i]))) - temp[i] = NULL; + temp[i] = stemp[i] ? temp[i] : NULL; } // then check subtyping. // stemp[k] == -1 : ∃i temp[k] >:ₛ temp[i] // stemp[k] == 1 : ∃i temp[k] == temp[i] // stemp[k] == 2 : ∃i temp[k] <:ₛ temp[i] - int8_t *stemp = (int8_t *)alloca(count); memset(stemp, 0, count); + int all_disjoint = 1, subs[2] = {1, 1}, rs[2] = {1, 1}; for (i = 0; i < nta; i++) { if (temp[i] == NULL) continue; + all_disjoint = 0; int hasfree = jl_has_free_typevars(temp[i]); for (j = nta; j < nt; j++) { if (temp[j] == NULL) continue; @@ -614,22 +612,23 @@ jl_value_t *simple_intersect(jl_value_t *a, jl_value_t *b, int overesi) } } } - int subs[2] = {1, 1}, rs[2] = {1, 1}; - for (i = 0; i < nt; i++) { - subs[i >= nta] &= (temp[i] == NULL || stemp[i] > 0); - rs[i >= nta] &= (temp[i] != NULL && stemp[i] > 0); - } - // return a(b) if a(b) <: b(a) - if (rs[0]) { - JL_GC_POP(); - return a; - } - if (rs[1]) { - JL_GC_POP(); - return b; + if (!all_disjoint) { + for (i = 0; i < nt; i++) { + subs[i >= nta] &= (temp[i] == NULL || stemp[i] > 0); + rs[i >= nta] &= (temp[i] != NULL && stemp[i] > 0); + } + // return a(b) if a(b) <: b(a) + if (rs[0]) { + JL_GC_POP(); + return a; + } + if (rs[1]) { + JL_GC_POP(); + return b; + } } // return `Union{}` for `merge_env` if we can't prove `<:` or `>:` - if (!overesi && !subs[0] && !subs[1]) { + if (all_disjoint || (!overesi && !subs[0] && !subs[1])) { JL_GC_POP(); return jl_bottom_type; } From 3f42af071e2459628f7f31a11a84d216768f2345 Mon Sep 17 00:00:00 2001 From: Elliot Saba Date: Mon, 24 Apr 2023 18:01:05 +0000 Subject: [PATCH 29/30] Avoid usage of `jl_error()` in `check_cmdline()` This is the same as https://github.com/JuliaLang/julia/pull/45765 where we use `jl_error()` too early to get backtraces, but too late to fail the supposed guard `if` statement that should prevent us from trying to take a backtrace. X-ref: https://github.com/JuliaLang/julia/issues/45847 (cherry picked from commit fa215891aff303e57608a6786fb152ef67565a51) --- src/processor.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/processor.cpp b/src/processor.cpp index 13b40ec4f7363..1580a71982e6b 100644 --- a/src/processor.cpp +++ b/src/processor.cpp @@ -739,20 +739,24 @@ static inline void check_cmdline(T &&cmdline, bool imaging) // sysimg means. Make it an error for now. if (!imaging) { if (cmdline.size() > 1) { - jl_error("More than one command line CPU targets specified " - "without a `--output-` flag specified"); + jl_safe_printf("More than one command line CPU targets specified " + "without a `--output-` flag specified"); + exit(1); } if (cmdline[0].en.flags & JL_TARGET_CLONE_ALL) { - jl_error("\"clone_all\" feature specified " - "without a `--output-` flag specified"); + jl_safe_printf("\"clone_all\" feature specified " + "without a `--output-` flag specified"); + exit(1); } if (cmdline[0].en.flags & JL_TARGET_OPTSIZE) { - jl_error("\"opt_size\" feature specified " - "without a `--output-` flag specified"); + jl_safe_printf("\"opt_size\" feature specified " + "without a `--output-` flag specified"); + exit(1); } if (cmdline[0].en.flags & JL_TARGET_MINSIZE) { - jl_error("\"min_size\" feature specified " - "without a `--output-` flag specified"); + jl_safe_printf("\"min_size\" feature specified " + "without a `--output-` flag specified"); + exit(1); } } } From ad9b54f53a52c7c9389f54fbc80c3aad1a65ff33 Mon Sep 17 00:00:00 2001 From: Kristoffer Carlsson Date: Mon, 24 Apr 2023 22:55:00 +0200 Subject: [PATCH 30/30] rename `jl_tls_offset` in sysimage to avoid naming clash with `libjulia-internal` (#49442) --- src/llvm-ptls.cpp | 2 +- src/staticdata.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/llvm-ptls.cpp b/src/llvm-ptls.cpp index c8d7ffbf0240b..a39a73c5393a2 100644 --- a/src/llvm-ptls.cpp +++ b/src/llvm-ptls.cpp @@ -329,7 +329,7 @@ bool LowerPTLS::run(bool *CFGModified) if (imaging_mode) { pgcstack_func_slot = create_aliased_global(T_pgcstack_getter, "jl_pgcstack_func_slot"); pgcstack_key_slot = create_aliased_global(getSizeTy(M->getContext()), "jl_pgcstack_key_slot"); // >= sizeof(jl_pgcstack_key_t) - pgcstack_offset = create_aliased_global(getSizeTy(M->getContext()), "jl_tls_offset"); + pgcstack_offset = create_aliased_global(getSizeTy(M->getContext()), "jl_tls_offset_image"); } need_init = false; } diff --git a/src/staticdata.c b/src/staticdata.c index f3725dc1508dc..2e84e72df3b42 100644 --- a/src/staticdata.c +++ b/src/staticdata.c @@ -481,7 +481,7 @@ static void jl_load_sysimg_so(void) jl_pgcstack_getkey((jl_get_pgcstack_func**)pgcstack_func_slot, (jl_pgcstack_key_t*)pgcstack_key_slot); size_t *tls_offset_idx; - jl_dlsym(jl_sysimg_handle, "jl_tls_offset", (void **)&tls_offset_idx, 1); + jl_dlsym(jl_sysimg_handle, "jl_tls_offset_image", (void **)&tls_offset_idx, 1); *tls_offset_idx = (uintptr_t)(jl_tls_offset == -1 ? 0 : jl_tls_offset); #ifdef _OS_WINDOWS_ @@ -3475,7 +3475,7 @@ JL_DLLEXPORT jl_value_t *jl_restore_package_image_from_file(const char *fname, j jl_pgcstack_getkey((jl_get_pgcstack_func**)pgcstack_func_slot, (jl_pgcstack_key_t*)pgcstack_key_slot); size_t *tls_offset_idx; - jl_dlsym(pkgimg_handle, "jl_tls_offset", (void **)&tls_offset_idx, 1); + jl_dlsym(pkgimg_handle, "jl_tls_offset_image", (void **)&tls_offset_idx, 1); *tls_offset_idx = (uintptr_t)(jl_tls_offset == -1 ? 0 : jl_tls_offset); }