Skip to content

Commit 8b6de51

Browse files
authored
Merge branch 'JuliaLang:master' into master
2 parents 16a4265 + 6008cbc commit 8b6de51

File tree

205 files changed

+2501
-1379
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

205 files changed

+2501
-1379
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ CODEOWNERS @JuliaLang/github-actions
22
/.github/ @JuliaLang/github-actions
33
/.buildkite/ @JuliaLang/github-actions
44

5-
/.github/workflows/retry.yml @DilumAluthge
5+
/.github/workflows/rerun_failed.yml @DilumAluthge
66
/.github/workflows/statuses.yml @DilumAluthge

CONTRIBUTING.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,6 @@ please remove the `backport-X.Y` tag from the originating pull request for the c
345345
- If you see any unrelated changes to submodules like `deps/libuv`, `deps/openlibm`, etc., try running `git submodule update` first.
346346
- Descriptive commit messages are good.
347347
- Using `git add -p` or `git add -i` can be useful to avoid accidentally committing unrelated changes.
348-
- GitHub does not send notifications when you push a new commit to a pull request, so please add a comment to the pull request thread to let reviewers know when you've made changes.
349348
- When linking to specific lines of code in discussion of an issue or pull request, hit the `y` key while viewing code on GitHub to reload the page with a URL that includes the specific version that you're viewing. That way any lines of code that you refer to will still make sense in the future, even if the content of the file changes.
350349
- Whitespace can be automatically removed from existing commits with `git rebase`.
351350
- To remove whitespace for the previous commit, run

Make.inc

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1279,7 +1279,13 @@ JLDFLAGS += -Wl,--large-address-aware
12791279
endif
12801280
JCPPFLAGS += -D_WIN32_WINNT=0x0502
12811281
UNTRUSTED_SYSTEM_LIBM := 1
1282-
endif
1282+
# Use hard links for files on windows, rather than soft links
1283+
# https://stackoverflow.com/questions/3648819/how-to-make-a-symbolic-link-with-cygwin-in-windows-7
1284+
# Usage: $(WIN_MAKE_HARD_LINK) <source> <target>
1285+
WIN_MAKE_HARD_LINK := cp --dereference --link --force
1286+
else
1287+
WIN_MAKE_HARD_LINK := true -ignore
1288+
endif # $(OS) == WINNT
12831289

12841290
# Threads
12851291
ifneq ($(JULIA_THREADS), 0)

Makefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
JULIAHOME := $(abspath $(dir $(lastword $(MAKEFILE_LIST))))
22
include $(JULIAHOME)/Make.inc
3+
# import LLVM_SHARED_LIB_NAME
4+
include $(JULIAHOME)/deps/llvm-ver.make
35

46
VERSDIR := v`cut -d. -f1-2 < $(JULIAHOME)/VERSION`
57

@@ -197,7 +199,7 @@ else
197199
JL_PRIVATE_LIBS-$(USE_SYSTEM_ZLIB) += libz
198200
endif
199201
ifeq ($(USE_LLVM_SHLIB),1)
200-
JL_PRIVATE_LIBS-$(USE_SYSTEM_LLVM) += libLLVM libLLVM-14jl
202+
JL_PRIVATE_LIBS-$(USE_SYSTEM_LLVM) += libLLVM $(LLVM_SHARED_LIB_NAME)
201203
endif
202204
JL_PRIVATE_LIBS-$(USE_SYSTEM_LIBUNWIND) += libunwind
203205

NEWS.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,9 @@ Standard library changes
111111

112112
#### Printf
113113

114+
* Error messages for bad format strings have been improved, to make it clearer what & where in the
115+
format string is wrong. ([#45366])
116+
114117
#### Random
115118

116119
* `randn` and `randexp` now work for any `AbstractFloat` type defining `rand` ([#44714]).

README.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ If you would rather not compile the latest Julia from source,
6767
platform-specific tarballs with pre-compiled binaries are also
6868
[available for download](https://julialang.org/downloads/). The
6969
downloads page also provides details on the
70-
[different tiers of support](https://julialang.org/downloads/#support-tiers)
70+
[different tiers of support](https://julialang.org/downloads/#supported_platforms)
7171
for OS and platform combinations.
7272

7373
If everything works correctly, you will see a Julia banner and an
@@ -120,10 +120,9 @@ are included in the [build documentation](https://github.com/JuliaLang/julia/blo
120120

121121
### Uninstalling Julia
122122

123-
Julia does not install anything outside the directory it was cloned
124-
into. Julia can be completely uninstalled by deleting this
125-
directory. Julia packages are installed in `~/.julia` by default, and
126-
can be uninstalled by deleting `~/.julia`.
123+
By default, Julia does not install anything outside the directory it was cloned
124+
into and `~/.julia`. Julia and the vast majority of Julia packages can be
125+
completely uninstalled by deleting these two directories.
127126

128127
## Source Code Organization
129128

base/Base.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,8 @@ const REPL_MODULE_REF = Ref{Module}()
130130

131131
include("checked.jl")
132132
using .Checked
133+
function cld end
134+
function fld end
133135

134136
# Lazy strings
135137
include("strings/lazy.jl")

base/abstractarray.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1076,7 +1076,7 @@ function copyto_unaliased!(deststyle::IndexStyle, dest::AbstractArray, srcstyle:
10761076
# Dual-iterator implementation
10771077
ret = iterate(iterdest)
10781078
@inbounds for a in src
1079-
idx, state = ret
1079+
idx, state = ret::NTuple{2,Any}
10801080
dest[idx] = a
10811081
ret = iterate(iterdest, state)
10821082
end

base/atomics.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export
2020
# - LLVM doesn't currently support atomics on floats for ppc64
2121
# C++20 is adding limited support for atomics on float, but as of
2222
# now Clang does not support that yet.
23-
if Sys.ARCH == :i686 || startswith(string(Sys.ARCH), "arm") ||
23+
if Sys.ARCH === :i686 || startswith(string(Sys.ARCH), "arm") ||
2424
Sys.ARCH === :powerpc64le || Sys.ARCH === :ppc64le
2525
const inttypes = (Int8, Int16, Int32, Int64,
2626
UInt8, UInt16, UInt32, UInt64)

base/boot.jl

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -453,6 +453,18 @@ convert(::Type{T}, x::T) where {T} = x
453453
cconvert(::Type{T}, x) where {T} = convert(T, x)
454454
unsafe_convert(::Type{T}, x::T) where {T} = x
455455

456+
_is_internal(__module__) = __module__ === Core
457+
# can be used in place of `@assume_effects :foldable` (supposed to be used for bootstrapping)
458+
macro _foldable_meta()
459+
return _is_internal(__module__) && Expr(:meta, Expr(:purity,
460+
#=:consistent=#true,
461+
#=:effect_free=#true,
462+
#=:nothrow=#false,
463+
#=:terminates_globally=#true,
464+
#=:terminates_locally=#false,
465+
#=:notaskstate=#false))
466+
end
467+
456468
const NTuple{N,T} = Tuple{Vararg{T,N}}
457469

458470
## primitive Array constructors
@@ -480,7 +492,6 @@ Array{T}(::UndefInitializer, d::NTuple{N,Int}) where {T,N} = Array{T,N}(undef, d
480492
# empty vector constructor
481493
Array{T,1}() where {T} = Array{T,1}(undef, 0)
482494

483-
484495
(Array{T,N} where T)(x::AbstractArray{S,N}) where {S,N} = Array{S,N}(x)
485496

486497
Array(A::AbstractArray{T,N}) where {T,N} = Array{T,N}(A)
@@ -489,12 +500,12 @@ Array{T}(A::AbstractArray{S,N}) where {T,N,S} = Array{T,N}(A)
489500
AbstractArray{T}(A::AbstractArray{S,N}) where {T,S,N} = AbstractArray{T,N}(A)
490501

491502
# primitive Symbol constructors
492-
eval(Core, :(function Symbol(s::String)
493-
$(Expr(:meta, :pure))
503+
function Symbol(s::String)
504+
@_foldable_meta
494505
return ccall(:jl_symbol_n, Ref{Symbol}, (Ptr{UInt8}, Int),
495506
ccall(:jl_string_ptr, Ptr{UInt8}, (Any,), s),
496507
sizeof(s))
497-
end))
508+
end
498509
function Symbol(a::Array{UInt8,1})
499510
return ccall(:jl_symbol_n, Ref{Symbol}, (Ptr{UInt8}, Int),
500511
ccall(:jl_array_ptr, Ptr{UInt8}, (Any,), a),

0 commit comments

Comments
 (0)