Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backports for 1.8-rc2/1.8.0 #45491

Merged
merged 40 commits into from
Jul 6, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
63e5553
Make `isdispatchtuple` consistent for `typeof(Union{})` (#45348)
Keno May 22, 2022
25122e4
Do not set MCPU on Apple Silicon (#45409)
fxcoudert May 21, 2022
0769bb5
Update LibCURL to 7.83.1 (#45443)
fxcoudert May 29, 2022
bde7223
Revert "fix #45440, improve the robustness of concrete-evaled callsit…
aviatesk May 30, 2022
801458d
follow #45440, add assertion to check concrete-eval call is compileable
aviatesk May 27, 2022
8f1a4ce
tweak NEWS.md
aviatesk May 31, 2022
32106ab
note `@inline` inside body usage (#45531)
Moelf Jun 1, 2022
4c65dce
rename `Base.@assume_effects :total_may_throw` setting to `:foldable`…
aviatesk Jun 1, 2022
ba72387
also set the version in `pkgorigins` (#44318)
KristofferC Feb 24, 2022
9e17fb6
Make llvmunwind depend on llvm (#45380)
fxcoudert May 29, 2022
b6e47d4
csl.mk: use libgcc_s 1.1 on aarch64-darwin (#45504)
fxcoudert May 29, 2022
d6bbed6
Fix zero-length array concatenation validation (#45383)
BioTurboNick Jun 1, 2022
a004142
Fix segfault in `Diagonal` * `OffsetMatrix` (#45548)
jishnub Jun 2, 2022
6f0bfc2
bump Pkg version to latest 1.8
Jun 8, 2022
087ba27
[Profile] `threads` here is wrong to use `nthreads` (#45547)
vtjnash Jun 2, 2022
43df1f4
rename `is_concrete_eval_eligible` utility query to `is_foldable` (#4…
aviatesk Jun 9, 2022
3a2eb39
Revert "codegen: explicitly handle Float16 intrinsics (#45249)" (#45627)
KristofferC Jun 13, 2022
8fd0b2a
AMD Zen 3 CPU support (Fixes #45657) (#45663) (#45667)
LebedevRI Jun 14, 2022
8b2e406
update `@assume_effects`
aviatesk Jun 15, 2022
38b836a
Update LLVM to 13.0.1+1
vchuravy Jun 19, 2022
4acdabe
fixup! Update LLVM to 13.0.1+1
vchuravy Jun 20, 2022
853dff9
fixup! fixup! Update LLVM to 13.0.1+1
vchuravy Jun 20, 2022
67f365c
Improve inference in typejoin (#44390)
timholy Mar 3, 2022
f83a9b3
[1.8] Update LLVM to 13.0.2-2 (#45917)
vchuravy Jul 4, 2022
b97d34a
Report any recompilation in time macro (#45015)
IanButterworth Apr 20, 2022
ad61d03
Add compilation & recompilation time to time_imports macro (#45064)
IanButterworth Apr 28, 2022
0646ce7
loading: prevent module replacement during precompile
vtjnash Jun 30, 2022
89cb6df
loading: add missing deadlock causing #45704
vtjnash Jun 29, 2022
73b37b2
loading: validate all cache files before loading any
vtjnash Jun 29, 2022
0ce21a6
loading: stop corrupting memory all over the place
vtjnash Jun 29, 2022
11cfa4e
Fix llvm powi intrinsic calls in fastmath.jl (#44580)
pchintalapudi Mar 12, 2022
8fcc2dd
fix `tuple_tfunc` on `Union` containing `Type{...}` (#44725)
aviatesk Mar 30, 2022
97c17e0
inference: don't widen `DataType`/`UninAll` to `Type` within `tuple_t…
aviatesk Apr 11, 2022
fbae62d
Pass along backlog keyword argument in Sockets.listen (#45737)
quinnj Jun 19, 2022
0559fa6
Use https for downloading of unicode data from unicode.org (#45750)
ViralBShah Jun 19, 2022
929c48a
Fix libblastrampoline full source build to install into the right loc…
ViralBShah Jun 19, 2022
14be137
Document file descriptors in `run` (#45710)
oscardssmith Jun 21, 2022
5894899
fix obvious_subtype bug with egal objects (#45771)
JeffBezanson Jun 27, 2022
2b6c746
Remove duplicate definition of jl_gc_safepoint (#45120)
fingolfin Jul 1, 2022
7a23871
Backport #45727 and a patch to make it work (#45938)
kpamnany Jul 5, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
also set the version in pkgorigins (#44318)
(cherry picked from commit 21e5a26)
  • Loading branch information
KristofferC authored and KristofferC committed Jun 7, 2022
commit ba72387ac0be5bec9b9c030e5522113af41e5da9
42 changes: 30 additions & 12 deletions base/loading.jl
Original file line number Diff line number Diff line change
Expand Up @@ -411,6 +411,16 @@ const project_names = ("JuliaProject.toml", "Project.toml")
const manifest_names = ("JuliaManifest.toml", "Manifest.toml")
const preferences_names = ("JuliaLocalPreferences.toml", "LocalPreferences.toml")

function locate_project_file(env::String)
for proj in project_names
project_file = joinpath(env, proj)
if isfile_casesensitive(project_file)
return project_file
end
end
return true
end

# classify the LOAD_PATH entry to be one of:
# - `false`: nonexistant / nothing to see here
# - `true`: `env` is an implicit environment
Expand All @@ -423,14 +433,7 @@ function env_project_file(env::String)::Union{Bool,String}
project_file === nothing || return project_file
end
if isdir(env)
for proj in project_names
maybe_project_file = joinpath(env, proj)
if isfile_casesensitive(maybe_project_file)
project_file = maybe_project_file
break
end
end
project_file =true
project_file = locate_project_file(env)
elseif basename(env) in project_names && isfile_casesensitive(env)
project_file = env
else
Expand Down Expand Up @@ -1076,11 +1079,11 @@ function require(into::Module, mod::Symbol)
end

mutable struct PkgOrigin
# version::VersionNumber
path::Union{String,Nothing}
cachepath::Union{String,Nothing}
version::Union{VersionNumber,Nothing}
end
PkgOrigin() = PkgOrigin(nothing, nothing)
PkgOrigin() = PkgOrigin(nothing, nothing, nothing)
const pkgorigins = Dict{PkgId,PkgOrigin}()

require(uuidkey::PkgId) = @lock require_lock _require_prelocked(uuidkey)
Expand Down Expand Up @@ -1151,6 +1154,21 @@ function unreference_module(key::PkgId)
end
end

function set_pkgorigin_version_path(pkg, path)
pkgorigin = get!(PkgOrigin, pkgorigins, pkg)
if path !== nothing
project_file = locate_project_file(joinpath(dirname(path), ".."))
if project_file isa String
d = parsed_toml(project_file)
v = get(d, "version", nothing)
if v !== nothing
pkgorigin.version = VersionNumber(v)
end
end
end
pkgorigin.path = path
end

# Returns `nothing` or the name of the newly-created cachefile
function _require(pkg::PkgId)
# handle recursive calls to require
Expand All @@ -1167,7 +1185,7 @@ function _require(pkg::PkgId)
toplevel_load[] = false
# perform the search operation to select the module file require intends to load
path = locate_package(pkg)
get!(PkgOrigin, pkgorigins, pkg).path = path
set_pkgorigin_version_path(pkg, path)
if path === nothing
throw(ArgumentError("""
Package $pkg is required but does not seem to be installed:
Expand Down Expand Up @@ -1941,11 +1959,11 @@ get_compiletime_preferences(::Nothing) = String[]
else
@label locate_branch
path = locate_package(req_key)
get!(PkgOrigin, pkgorigins, req_key).path = path
if path === nothing
@debug "Rejecting cache file $cachefile because dependency $req_key not found."
return true # Won't be able to fulfill dependency
end
set_pkgorigin_version_path(req_key, path)
depmods[i] = (path, req_key, req_build_id)
end
end
Expand Down
2 changes: 1 addition & 1 deletion test/TestPkg/Project.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name = "TestPkg"
uuid = "69145d58-7df6-11e8-0660-cf7622583916"

version = "1.2.3"

[deps]
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
1 change: 1 addition & 0 deletions test/loading.jl
Original file line number Diff line number Diff line change
Expand Up @@ -652,6 +652,7 @@ finally
Base.set_active_project(old_act_proj)
popfirst!(LOAD_PATH)
end
@test Base.pkgorigins[Base.PkgId(UUID("69145d58-7df6-11e8-0660-cf7622583916"), "TestPkg")].version == v"1.2.3"

@testset "--project and JULIA_PROJECT paths should be absolutified" begin
mktempdir() do dir; cd(dir) do
Expand Down