Skip to content

Commit ed2552a

Browse files
committed
fix merge conflict and update caseless stdlib enums to use synthesized Comparable
2 parents 25e4cfc + 91af2b2 commit ed2552a

File tree

964 files changed

+43346
-18597
lines changed

Some content is hidden

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

964 files changed

+43346
-18597
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ docs/_build
3939
# Visual Studio metadata
4040
.vs
4141

42+
# clangd
43+
.clangd
44+
4245
#==============================================================================#
4346
# Ignore CMake temporary files
4447
#==============================================================================#

.mailmap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Amr Aboelela <amraboelela@gmail.com> <amraboelela@users.noreply.github.com>
88
Ankit Aggarwal <ankit_aggarwal@apple.com> <ankit.spd@gmail.com>
99
Argyrios Kyrtzidis <kyrtzidis@apple.com> <akyrtzi@gmail.com>
1010
Arsen Gasparyan <to.arsen.gasparyan@gmail.com> <frootloops@users.noreply.github.com>
11+
Ashley Garland <acgarland@apple.com> <dfarler@apple.com>
1112
Ben Cohen <ben_cohen@apple.com>
1213
Ben Cohen <ben_cohen@apple.com> <airspeedswift@users.noreply.github.com>
1314
Ben Cohen <ben_cohen@apple.com> <ben@airspeedvelocity.net>

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,21 @@ CHANGELOG
2626
Swift 5.2
2727
---------
2828

29+
* [SR-11841][]:
30+
31+
When chaining calls to `filter(_:)` on a lazy sequence or collection, the
32+
filtering predicates will now be called in the same order as eager filters.
33+
34+
```swift
35+
let evens = (1...10).lazy
36+
.filter { $0.isMultiple(of: 2) }
37+
.filter { print($0); return true }
38+
_ = evens.count
39+
// Prints 2, 4, 6, 8, and 10 on separate lines
40+
```
41+
42+
Previously, the predicates were called in reverse order.
43+
2944
* [SR-2790][]:
3045

3146
The compiler will now emit a warning when attempting to pass a temporary
@@ -7874,3 +7889,4 @@ Swift 1.0
78747889
[SR-9827]: <https://bugs.swift.org/browse/SR-9827>
78757890
[SR-11298]: <https://bugs.swift.org/browse/SR-11298>
78767891
[SR-11429]: <https://bugs.swift.org/browse/SR-11429>
7892+
[SR-11841]: <https://bugs.swift.org/browse/SR-11841>

CMakeLists.txt

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ set(SWIFT_ANALYZE_CODE_COVERAGE FALSE CACHE STRING
127127
# SWIFT_VERSION is deliberately /not/ cached so that an existing build directory
128128
# can be reused when a new version of Swift comes out (assuming the user hasn't
129129
# manually set it as part of their own CMake configuration).
130-
set(SWIFT_VERSION "5.1.1")
130+
set(SWIFT_VERSION "5.2")
131131

132132
set(SWIFT_VENDOR "" CACHE STRING
133133
"The vendor name of the Swift compiler")
@@ -601,13 +601,7 @@ if(SWIFT_HOST_VARIANT_SDK)
601601
set(SWIFT_HOST_VARIANT_SDK_default "${SWIFT_HOST_VARIANT_SDK}")
602602
else()
603603
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
604-
# CMake on an Android host sets this to Linux, so check for the ANDROID_DATA
605-
# environment variable to see if we're building on Android.
606-
if(NOT "$ENV{ANDROID_DATA}" STREQUAL "")
607-
set(SWIFT_HOST_VARIANT_SDK_default "ANDROID")
608-
else()
609-
set(SWIFT_HOST_VARIANT_SDK_default "LINUX")
610-
endif()
604+
set(SWIFT_HOST_VARIANT_SDK_default "LINUX")
611605
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
612606
set(SWIFT_HOST_VARIANT_SDK_default "FREEBSD")
613607
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "CYGWIN")
@@ -617,7 +611,6 @@ else()
617611
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Haiku")
618612
set(SWIFT_HOST_VARIANT_SDK_default "HAIKU")
619613
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Android")
620-
# CMAKE_SYSTEM_NAME might be set this way when cross-compiling to Android.
621614
set(SWIFT_HOST_VARIANT_SDK_default "ANDROID")
622615
elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
623616
set(SWIFT_HOST_VARIANT_SDK_default "OSX")
@@ -926,19 +919,16 @@ find_package(PythonInterp REQUIRED)
926919
#
927920

928921
if(LLVM_ENABLE_LIBXML2)
929-
find_package(Libxml2 REQUIRED)
922+
find_package(LibXml2 REQUIRED)
930923
else()
931924
find_package(LibXml2)
932925
endif()
933926

934-
# You need libedit linked in order to check if you have el_wgets.
935-
cmake_push_check_state()
936-
list(APPEND CMAKE_REQUIRED_LIBRARIES "edit")
937-
check_symbol_exists(el_wgets "histedit.h" HAVE_EL_WGETS)
938-
if(HAVE_EL_WGETS)
939-
set(HAVE_UNICODE_LIBEDIT 1)
927+
if(LLVM_ENABLE_LIBEDIT)
928+
find_package(LibEdit REQUIRED)
929+
else()
930+
find_package(LibEdit)
940931
endif()
941-
cmake_pop_check_state()
942932

943933
check_symbol_exists(wait4 "sys/wait.h" HAVE_WAIT4)
944934

@@ -960,10 +950,16 @@ if(SWIFT_BUILD_SYNTAXPARSERLIB OR SWIFT_BUILD_SOURCEKIT)
960950
set(SWIFT_LIBDISPATCH_CXX_COMPILER ${CMAKE_CXX_COMPILER})
961951
elseif(${CMAKE_SYSTEM_NAME} STREQUAL ${CMAKE_HOST_SYSTEM_NAME})
962952
if(CMAKE_SYSTEM_NAME STREQUAL Windows)
963-
set(SWIFT_LIBDISPATCH_C_COMPILER
964-
$<TARGET_FILE_DIR:clang>/clang-cl${CMAKE_EXECUTABLE_SUFFIX})
965-
set(SWIFT_LIBDISPATCH_CXX_COMPILER
966-
$<TARGET_FILE_DIR:clang>/clang-cl${CMAKE_EXECUTABLE_SUFFIX})
953+
if(CMAKE_SYSTEM_PROCESSOR STREQUAL CMAKE_HOST_SYSTEM_PROCESSOR AND
954+
TARGET clang)
955+
set(SWIFT_LIBDISPATCH_C_COMPILER
956+
$<TARGET_FILE_DIR:clang>/clang-cl${CMAKE_EXECUTABLE_SUFFIX})
957+
set(SWIFT_LIBDISPATCH_CXX_COMPILER
958+
$<TARGET_FILE_DIR:clang>/clang-cl${CMAKE_EXECUTABLE_SUFFIX})
959+
else()
960+
set(SWIFT_LIBDISPATCH_C_COMPILER clang-cl${CMAKE_EXECUTABLE_SUFFIX})
961+
set(SWIFT_LIBDISPATCH_CXX_COMPILER clang-cl${CMAKE_EXECUTABLE_SUFFIX})
962+
endif()
967963
else()
968964
set(SWIFT_LIBDISPATCH_C_COMPILER $<TARGET_FILE_DIR:clang>/clang)
969965
set(SWIFT_LIBDISPATCH_CXX_COMPILER $<TARGET_FILE_DIR:clang>/clang++)

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ Please make sure you use Python 2.x. Python 3.x is not supported currently.
8686

8787
#### macOS
8888

89-
To build for macOS, you need [Xcode 11.2](https://developer.apple.com/xcode/downloads/).
89+
To build for macOS, you need [Xcode 11.3](https://developer.apple.com/xcode/downloads/).
9090
The required version of Xcode changes frequently, and is often a beta release.
9191
Check this document or the host information on <https://ci.swift.org> for the
9292
current required version.
@@ -234,7 +234,8 @@ then run the build product in Terminal.
234234
Swift toolchains are created using the script
235235
[build-toolchain](https://github.com/apple/swift/blob/master/utils/build-toolchain). This
236236
script is used by swift.org's CI to produce snapshots and can allow for one to
237-
locally reproduce such builds for development or distribution purposes. E.x.:
237+
locally reproduce such builds for development or distribution purposes. A typical
238+
invocation looks like the following:
238239

239240
```
240241
$ ./swift/utils/build-toolchain $BUNDLE_PREFIX

benchmark/Package.swift

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@
33
import PackageDescription
44
import Foundation
55

6-
var unsupportedTests: Set<String> = ["ObjectiveCNoBridgingStubs"]
6+
var unsupportedTests: Set<String> = []
77
#if !os(macOS) && !os(iOS) && !os(watchOS) && !os(tvOS)
8+
unsupportedTests.insert("ObjectiveCNoBridgingStubs")
89
unsupportedTests.insert("ObjectiveCBridging")
910
unsupportedTests.insert("ObjectiveCBridgingStubs")
1011
#endif
@@ -123,6 +124,15 @@ singleSourceDeps.append(.target(name: "ObjectiveCTests"))
123124
#endif
124125

125126
targets += singleSourceLibraries.map { name in
127+
if name == "ObjectiveCNoBridgingStubs" {
128+
return .target(
129+
name: name,
130+
dependencies: singleSourceDeps,
131+
path: "single-source",
132+
sources: ["\(name).swift"],
133+
swiftSettings: [.unsafeFlags(["-Xfrontend",
134+
"-disable-swift-bridge-attr"])])
135+
}
126136
return .target(name: name,
127137
dependencies: singleSourceDeps,
128138
path: "single-source",

benchmark/single-source/ArrayOfGenericRef.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class ConstructibleArray<T:Constructible> {
3434
array = [T]()
3535
array.reserveCapacity(1_000)
3636
for _ in 0...1_000 {
37-
array.append(T(e:e) as T)
37+
array.append(T(e:e))
3838
}
3939
}
4040
}

benchmark/single-source/ArrayOfRef.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class ConstructibleArray<T:Constructible> {
3535
array = [T]()
3636
array.reserveCapacity(1_000)
3737
for _ in 0...1_000 {
38-
array.append(T(e:e) as T)
38+
array.append(T(e:e))
3939
}
4040
}
4141
}

benchmark/single-source/StringWalk.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ import TestsUtils
6666
let ascii =
6767
"siebenhundertsiebenundsiebzigtausendsiebenhundertsiebenundsiebzig"
6868
let emoji = "👍👩‍👩‍👧‍👧👨‍👨‍👦‍👦🇺🇸🇨🇦🇲🇽👍🏻👍🏼👍🏽👍🏾👍🏿"
69-
let utf16 = emoji + "the quick brown fox" + String(emoji.reversed() as Array<Character>)
69+
let utf16 = emoji + "the quick brown fox" + String(emoji.reversed())
7070

7171
let japanese = "今回のアップデートでSwiftに大幅な改良が施され、安定していてしかも直感的に使うことができるAppleプラットフォーム向けプログラミング言語になりました。"
7272
let chinese = "Swift 是面向 Apple 平台的编程语言,功能强大且直观易用,而本次更新对其进行了全面优化。"

benchmark/single-source/StringWalk.swift.gyb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ import TestsUtils
6767
let ascii =
6868
"siebenhundertsiebenundsiebzigtausendsiebenhundertsiebenundsiebzig"
6969
let emoji = "👍👩‍👩‍👧‍👧👨‍👨‍👦‍👦🇺🇸🇨🇦🇲🇽👍🏻👍🏼👍🏽👍🏾👍🏿"
70-
let utf16 = emoji + "the quick brown fox" + String(emoji.reversed() as Array<Character>)
70+
let utf16 = emoji + "the quick brown fox" + String(emoji.reversed())
7171

7272
let japanese = "今回のアップデートでSwiftに大幅な改良が施され、安定していてしかも直感的に使うことができるAppleプラットフォーム向けプログラミング言語になりました。"
7373
let chinese = "Swift 是面向 Apple 平台的编程语言,功能强大且直观易用,而本次更新对其进行了全面优化。"

0 commit comments

Comments
 (0)