Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
284 commits
Select commit Hold shift + click to select a range
175bd56
Merge pull request #62770 from eeckstein/fix-cowopt-5.8
eeckstein Jan 4, 2023
2c07057
Merge pull request #62809 from xedin/enable-result-builder-ast-transf…
xedin Jan 4, 2023
23902e8
[CSSimplify] Fix sub-pattern matching logic related closure and enum …
takeshi-1000 Jan 3, 2023
6d681cf
[CSClosure] Fix handling of non-representivate variables
xedin Dec 24, 2022
815a92f
[Diagnostics] Relax contextual type presence from assertion to a check
xedin Dec 29, 2022
7497aee
Merge pull request #62823 from lorentey/string-utf16-speedup-5.8
lorentey Jan 4, 2023
9e08b40
Mangler: Fix substitution ordering when mangling opaque return types.
jckarter Dec 20, 2022
1affdf1
Update CODEOWNERS
shahmishal Jan 4, 2023
c0f3418
[CS] Increase the score for implicit global actor function conversion
LucianoPAlmeida Dec 12, 2022
256d542
[stdlib] String: Expose _index(roundingDown:) functions in all String…
lorentey Dec 30, 2022
f942739
[test] Add tests for string index rounding
lorentey Jan 1, 2023
e562133
[test] Improve grapheme breaking tests
lorentey Dec 30, 2022
6e5097a
[stdlib] String: Move shouldBreak into _GraphemeBreakingState
lorentey Dec 30, 2022
699a3f0
[stdlib] Add new SPI for grapheme breaking (outside String)
lorentey Dec 30, 2022
9922b00
[stdlib] _CharacterRecognizer: Remove initializer argument
lorentey Jan 4, 2023
83f983e
[stdlib] _CharacterRecognizer._firstBreak(inUncheckedUnsafeUTF8Buffer…
lorentey Jan 4, 2023
3ff539b
Merge pull request #62842 from xedin/closure-related-fixes-5.8
xedin Jan 5, 2023
7550a21
EscapeUtils: fix a wrong handling of argument indices in walkUpApplyR…
eeckstein Jan 4, 2023
7a8eb60
Merge pull request #62829 from al45tair/wrangler/PR-103870156
al45tair Jan 5, 2023
12e9aed
SILCombine: fix a crash when optimizing keypath-offset-of
eeckstein Jan 3, 2023
0482af2
Merge pull request #62843 from xedin/rdar-103739206-5.8
xedin Jan 5, 2023
33d2c59
Merge pull request #62865 from eeckstein/fix-escape-utils-5.8
eeckstein Jan 5, 2023
d108a04
Merge pull request #62860 from lorentey/string-index-rounding-5.8
lorentey Jan 6, 2023
7c59254
Merge pull request #62863 from lorentey/character-recognizer-5.8
lorentey Jan 6, 2023
6c3a741
Add -package-name flag
elsh Dec 14, 2022
128b161
Add error checks for input package name
elsh Dec 20, 2022
9a2e76d
[test] Disable test/stdlib/StringIndex.swift to unblock CI (#62874)
lorentey Jan 6, 2023
1937dee
fix #61531 swift-symbolgraph-extract crashes when trying to emit the …
theMomax Jan 6, 2023
5a0eb50
Merge pull request #62832 from eeckstein/fix-keypath-opt-crash-5.8
eeckstein Jan 6, 2023
29c1a17
[MiscDiagnostics] OpaqueTypes: Handle unrelated #available conditions…
xedin Jan 4, 2023
fd50c09
NFC: Clean up formatting and consistency a bit in attr_backDeploy.swift.
tshortli Jan 4, 2023
c0f3def
Sema: Lift restriction that declarations with @_backDeploy must have …
tshortli Jan 4, 2023
d710dd0
NFC: Update @_backDeploy tests to remove @available attributes where …
tshortli Jan 6, 2023
76dfbf9
Merge pull request #62871 from kavon/5.8-main-actor-conversions-combo
kavon Jan 7, 2023
6e84f8a
Merge pull request #62895 from tshortli/remove-back-deploy-available-…
tshortli Jan 7, 2023
faf0da9
Merge pull request #62889 from xedin/rdar-103445432-5.8
xedin Jan 7, 2023
acaa7db
Merge pull request #62751 from apple/es-rel-pkg
elsh Jan 7, 2023
21dfdaf
Rename Reflection library to RemoteInspection (#62846) (#62887)
Azoy Jan 9, 2023
a0b3f80
Merge pull request #62847 from jckarter/mangler-structural-opaque-typ…
jckarter Jan 9, 2023
90a0829
Fix DCE of begin_borrow with @guaranteed operand
meg-gupta Jan 6, 2023
ca62f2c
[MemAccessUtils] Added PathNode::isPrefixOf.
nate-chandler Jan 5, 2023
a396969
[SSADestroyHoisting] Don't fold over trivial use.
nate-chandler Jan 5, 2023
c7b497e
[TaskLocals] Remove use of @inlinable with @_backDeploy temporarily.
tshortli Jan 9, 2023
62702f4
[stdlib] _CharacterRecognizer: Add Sendable, Equatable, CustomStringC…
lorentey Jan 6, 2023
af3995f
Allow a global-actor to be dropped for some non-async functions.
kavon Nov 17, 2022
c6e7b5e
Merge pull request #62927 from nate-chandler/cherrypick/release/5.8/b…
nate-chandler Jan 10, 2023
14983a4
Merge pull request #62929 from tshortli/remove-inlinable-from-taskloc…
tshortli Jan 10, 2023
021afb5
Merge pull request #62926 from meg-gupta/dcefixcherrypick
meg-gupta Jan 10, 2023
24fe6ae
Bump swift-crypto to 2.x (#62894)
yim-lee Jan 10, 2023
05488d7
[TaskLocals] Avoid use of `defer` in back deployed functions in the s…
tshortli Jan 10, 2023
97d49b8
Merge pull request #62931 from lorentey/character-recognizer-conforma…
lorentey Jan 10, 2023
83388d3
Merge pull request #62947 from tshortli/avoid-defer-in-backdeployed-f…
tshortli Jan 10, 2023
3d837dd
[Concurrency] DiscardingTaskGroup
ktoso Nov 22, 2022
857d1bd
Merge pull request #62963 from ktoso/pick-discarding-task-group
DougGregor Jan 11, 2023
eaeffc8
[BuilderTransform] Make sure that synthesized `if` elements have corr…
xedin Jan 10, 2023
e8f15ad
Add BuiltinCreateTaskGroupWithFlags feature and use it to guard the b…
DougGregor Jan 11, 2023
49c150e
Merge pull request #62977 from DougGregor/builtin-task-group-with-fla…
xedin Jan 11, 2023
22d4414
Merge pull request #62893 from kavon/5.8-lose-main-actor
DougGregor Jan 12, 2023
6e332cc
Merge pull request #62970 from xedin/issue-62848-5.8
xedin Jan 12, 2023
a7a2962
Add clock.sleep(for:). (#62996)
mbrandonw Jan 13, 2023
b769820
[Concurrency] uncomment isCancelled override decl
ktoso Jan 13, 2023
3f2a40c
Disable - Concurrency/Runtime/async_taskgroup_throw_rethrow.swift (#6…
shahmishal Jan 13, 2023
7632e9a
Remove checks in UR[M]BP.Iterator.next() (#62998)
Lukasa Jan 13, 2023
0b277d8
[stdlib] String: Fix forward implementation of grapheme breaking rule 11
lorentey Jan 15, 2023
2405ce4
Merge pull request #63047 from lorentey/gb11-5.8
lorentey Jan 16, 2023
9ae2514
[5.8] Build-script: ensure we can target armv7k with watchOS 9 SDK (#…
edymtt Jan 16, 2023
75edf01
Don't use tsd_private.h in compatibility libraries for ARMv7k.
al45tair Jan 19, 2023
ba7e9c6
Disable rdar74087329-debug-scope-trampoline-blocks.swift
ahoppen Jan 19, 2023
14ed022
Merge pull request #63105 from ahoppen/ahoppen/5.8-disable-debug-scop…
ahoppen Jan 19, 2023
9db0066
[BuilderTransform] All `if` sequences without `else` should call `bui…
xedin Jan 18, 2023
9c9787a
SILGen: Fix double-free of `__owned` parameters of functions with `@_…
tshortli Jan 19, 2023
b83d36b
[Concurrency] Fix DiscardingTaskGroup in SWIFT_CONCURRENCY_TASK_TO_TH…
ktoso Jan 19, 2023
2e05735
Disable TaskGroup neverConsumingTasks test while we work on fix
ktoso Jan 20, 2023
52bcb1e
Merge pull request #63120 from apple/ktoso-patch-14
DougGregor Jan 20, 2023
5f6ae81
Merge pull request #63109 from xedin/result-builder-if-else-sequences…
xedin Jan 20, 2023
aa8ff46
Merge pull request #63115 from tshortli/back-deploy-double-free-5.8
tshortli Jan 20, 2023
939c8f5
Merge pull request #63103 from al45tair/eng/PR-103274667-5.8
al45tair Jan 20, 2023
9f29e97
[5.8][Index] Resolve any shadowed references to the decl they shadow
bnbarham Jan 20, 2023
3e14777
Merge pull request #63146 from bnbarham/cherry-shadowed-decls-fix
bnbarham Jan 23, 2023
ddc2092
[Index] Handle shorthand if let/closure captures in local rename
bnbarham Jan 23, 2023
f9915cf
[Concurrency] Fix too optimistic bail-out-when-empty, discarding group
ktoso Jan 13, 2023
aca284e
[Concurrency] DiscardingTG error thrown from body always wins
ktoso Jan 13, 2023
a747dc6
Offering body error must be done while holding lock
ktoso Jan 16, 2023
009f64b
Must not modify waitingTask context outside lock
ktoso Jan 16, 2023
61a1835
wip on trying to fix by changing the offer
ktoso Jan 18, 2023
a25aa2c
fix bug in resuming tasks in offer/resume task in discarding group
ktoso Jan 18, 2023
e4c8760
Fix #63147 waitForAll impl in ThrowingTaskGroup, used to not wait enough
ktoso Jan 23, 2023
305b988
done
ktoso Jan 23, 2023
b707b5f
debug
ktoso Jan 24, 2023
2f7a1b4
explicitly declare virtual destructors
ktoso Jan 24, 2023
fb4368a
detach child task after filling result; dont mutate context outside o…
ktoso Jan 24, 2023
32b2c4b
Add pending count overflow protection to TaskGroup
ktoso Jan 25, 2023
04610bd
unlock async_taskgroup_void_neverConsumingTasks again rdar://104332560
ktoso Jan 25, 2023
3828be7
missing include on windows for error reporting
ktoso Jan 25, 2023
7ecbba4
fix ARM_ARCH_7K workaround snippet
ktoso Jan 25, 2023
c89d777
Merge pull request #63203 from bnbarham/cherry-shadow-rename
bnbarham Jan 26, 2023
15f4101
Revert "At -Onone preserve debug info after splitting loads"
atrick Jan 26, 2023
9e6f80f
Merge pull request #63240 from atrick/5.8-revert-debugfix
atrick Jan 26, 2023
cb6681e
Merge pull request #63008 from ktoso/pick-wip-uncomment-override
DougGregor Jan 27, 2023
3d6fc7d
Merge pull request #63017 from ktoso/pick-wip-waitAll-race
DougGregor Jan 27, 2023
90df2f0
Sema: Avoid diagnosing missing imports for desugared typealiases in n…
tshortli Jan 28, 2023
76b57d5
[IDE] Remove invalid assertions
bnbarham Jan 28, 2023
548a773
Merge pull request #63279 from tshortli/avoid-diagnosing-missing-impo…
tshortli Jan 30, 2023
0adeb61
Merge pull request #63282 from bnbarham/cherry-remove-invalid-assertions
bnbarham Jan 30, 2023
6d9ed1d
[CSSimplify] Allow conversions between tuple element type and a place…
xedin Jan 12, 2023
9b80c1a
[CSFix] Diagnose use of inaccessible members in ambiguous contexts
xedin Jan 13, 2023
61f3542
[CSSimplify] Report unresolved base failure if leading-dot syntax bas…
xedin Jan 18, 2023
8d3f361
[CSSimplify] Fix should propagate contextual type into optional chain…
xedin Jan 20, 2023
9ab363b
[BuilderTransform] Increase impact of unhandled statement fix
xedin Jan 23, 2023
0f72faf
[CSFix] NFC: Add a common base class for all requirement failures
xedin Jan 13, 2023
6dc20a7
[CSFix] Move `diagnoseForAmbiguity` to RequirementFix
xedin Jan 25, 2023
e01fa1c
[ConstraintSystem] Handle ambiguities caused by requirement failures
xedin Jan 26, 2023
9dd7ccc
[ConstraintSystem] Handle requirement failures associated with inject…
xedin Jan 26, 2023
1a44883
[5.8][Runtime] Fix key paths on 32-bit with KVC string pointers in th…
mikeash Jan 30, 2023
957bfa3
[Distributed] LocalDAS cannot gain constraint on resolve method
ktoso Jan 31, 2023
1c90299
Merge pull request #63326 from ktoso/pick-distributed-localtesting-ap…
DougGregor Jan 31, 2023
ae46805
Merge pull request #63330 from xedin/diag-fixes-5.8
xedin Feb 1, 2023
4b195a8
[SourceKit] Only verify the solver-based cursor info implementation i…
ahoppen Dec 14, 2022
74ab40b
Merge pull request #63308 from mikeash/keypath-big-32-bit-pointers-5.8
mikeash Feb 1, 2023
5fbc51c
[AST] Expand TypeJoin expression to support joining over a type
xedin Dec 28, 2022
0bc0bf5
[CSClosure] Allocate temporary type-join and opaque value exprs in so…
xedin Jan 3, 2023
f5c007a
[Sema] Avoid forming double braced single expression closures
hamishknight Feb 1, 2023
d81d479
[CS] NFC: Factor out brace element handling in a couple of cases
hamishknight Feb 1, 2023
e6eec6b
[CS] NFC: Move SolverSnapshot::applySolution into the cpp file
hamishknight Feb 1, 2023
165b4ba
[Sema] Introduce PreCheckReturnStmtRequest
hamishknight Feb 1, 2023
5008ee5
Introduce if/switch expressions
hamishknight Feb 1, 2023
b3cdf2e
[Sema] Error on redundant try/awaits for if/switch expressions
hamishknight Feb 1, 2023
b5c3c76
[5.8] LLVM product: amend installation path of compiler-rt libraries.…
edymtt Feb 1, 2023
e77003b
Merge pull request #63288 from apple/krilnon/unsafe-buffer-pointer-docs
swift-ci Feb 1, 2023
0e039da
[OpaqueValues] Map back-deploy thunk results.
nate-chandler Jan 4, 2023
3040221
SILGen/Sema: Add `@_backDeploy` support for constructors.
tshortli Jan 19, 2023
6d1876c
ModuleInterface: Coallesce `@_backDeploy` attributes when printed.
tshortli Jan 31, 2023
8e2d68c
SILGen: Avoid using back deployment thunks for high enough deployment…
tshortli Jan 25, 2023
e84ad6c
NFC: Rename files containing tests for the `@backDeployed` attribute …
tshortli Jan 31, 2023
f3d0f7a
AST: Implement parsing support for the accepted spelling of `@backDep…
tshortli Feb 1, 2023
9bd173b
NFC: Update tests to use accepted spelling for `@backDeployed`.
tshortli Feb 1, 2023
0e52979
NFC: Add a changelog entry for SE-0376.
tshortli Feb 2, 2023
a4e313a
[Test] Disabled test currently failing.
nate-chandler Feb 3, 2023
0a52b14
Merge pull request #63401 from nate-chandler/wrangle/20230202/1
nate-chandler Feb 3, 2023
5acd9cf
Disable only on windows
ktoso Feb 3, 2023
8b4068b
Merge pull request #63402 from apple/ktoso-patch-14
nate-chandler Feb 3, 2023
8bd0080
Merge pull request #63394 from tshortli/se0376-rename-backdeploy-5.8
tshortli Feb 3, 2023
e239441
[SILOptimizer] Don't diagnose unreachable instructions that belong to…
xedin Feb 2, 2023
4274566
windows: convert swift-crypto to static linking
compnerd Feb 2, 2023
2389ed0
Swift SIL: add some APIs to `Location`
eeckstein Jan 16, 2023
48799c8
Update the CODEOWNERS file to use @apple/swift5-branch-managers (#63425)
shahmishal Feb 4, 2023
090704f
Merge pull request #63406 from xedin/rdar-104931999-5.8
xedin Feb 4, 2023
d29359a
[Test] Disabled three tests.
nate-chandler Feb 4, 2023
bc62e30
Merge pull request #63432 from nate-chandler/wrangle/20230204/1
nate-chandler Feb 4, 2023
5d75233
Create begin_borrow in OSSA only
meg-gupta Dec 20, 2022
8dfa4f3
ClosureLifetimeFixup: Fix corner case of unconnected basic blocks
aschwaighofer Dec 20, 2022
b86cc30
Merge pull request #63433 from meg-gupta/fixinlinercrash
meg-gupta Feb 5, 2023
b1b89ca
Merge pull request #63435 from nate-chandler/cherrypick/508708919ae6b…
tbkka Feb 5, 2023
70a7d29
[CS] Connect isolated conjunctions to referenced VarDecls
hamishknight Feb 6, 2023
041d9de
[5.8][Concurrency] Add include of unistd.h to TaskGroup.cpp (#63344)
ktoso Feb 6, 2023
46173d6
[5.8 CMake] Assume watchOS and watchSimulator SDKs support 32 bit (#6…
edymtt Feb 7, 2023
0a2e53f
[RequirementMachine] Skip Sendable conformance requirements from prec…
hborla Jan 20, 2023
ddfd73e
[RequirementMachine] Only skip Sendable requirements inferred from pr…
hborla Jan 20, 2023
d78b035
Merge pull request #63378 from hamishknight/express-yourself-5.8
hamishknight Feb 7, 2023
b0980d9
Merge pull request #63348 from ahoppen/ahoppen/5.8-only-verify-cursor…
ahoppen Feb 7, 2023
85f1885
[CSSyntacticElement] Correctly determine whether body is a "single ex…
xedin Feb 6, 2023
20401b9
[AST] Avoid possible segfault in isDirectToStorageAccess
bnbarham Jan 31, 2023
672f2d1
Merge pull request #63493 from hborla/5.8-preconcurrency-requirement-…
hborla Feb 7, 2023
ef78b80
[Index] Prevent re-indexing system modules repeatedly
bnbarham Feb 3, 2023
56b4d45
Demangle an OpaqueArchetypeTypeRef's ID as a type not as a symbol
augusto2112 Nov 11, 2022
4c77f0f
Merge pull request #63489 from xedin/issue-63264-5.8
xedin Feb 8, 2023
2f5a294
[CodeCompletion] Look through optional when determining the function …
ahoppen Feb 8, 2023
3ec56ba
Merge pull request #63508 from augusto2112/5.8-demangle-type-in-opaqu…
augusto2112 Feb 8, 2023
3d0906f
Merge pull request #63516 from ahoppen/ahoppen/5.8-look-through-optional
ahoppen Feb 8, 2023
74fb8c1
[ConstraintSystem] Teach `getCalleeLocator` about pattern matching
xedin Feb 7, 2023
450e701
Break link against compiler-rt
etcwilde Jan 19, 2023
3c6b306
Replace Task.h with right (5.6) version
etcwilde Jan 21, 2023
55e22bd
Unsupported: continuation_validation in backdeploy_concurrency
etcwilde Jan 23, 2023
7ee5d1c
Fix SWIFT_TASK_DEBUG_LOG macro
etcwilde Jan 23, 2023
64b8614
Hide more symbols
etcwilde Jan 24, 2023
5605221
Disable ASTGen runtime-compat libs
etcwilde Jan 24, 2023
1b28888
Merge pull request #63501 from bnbarham/cherry-index-objc-impl-crash
bnbarham Feb 8, 2023
879e644
Round the initial context size of tasks up to 32 on 64-bit <=5.6 runt…
rjmccall Feb 8, 2023
1e83799
Merge pull request #63499 from bnbarham/cherry-so-much-re-index
bnbarham Feb 9, 2023
71c13e8
[Test] Increased timeout.
nate-chandler Feb 9, 2023
3c050e1
Merge pull request #63536 from nate-chandler/rdar105151757
nate-chandler Feb 9, 2023
40e02c0
Merge pull request #63525 from rjmccall/initial-context-size-compat-f…
DougGregor Feb 9, 2023
05e55fc
Bump host tools deployment version for Darwin OS (#61460) (#63464)
shahmishal Feb 9, 2023
62b24df
Merge pull request #63362 from apple/krilnon/pick-krilnon-unsafe-buff…
glessard Feb 10, 2023
9e77be0
[CSGen] Detect nested out-of-scope variables in recursive declarations
xedin Feb 10, 2023
2778d8e
Revert "[5.8] Introduce if/switch expressions"
hamishknight Feb 14, 2023
9fd712b
Merge pull request #63531 from etcwilde/ewilde/fix-backdeploy-compat5…
DougGregor Feb 14, 2023
e8d19ac
Merge pull request #63649 from hamishknight/express-yourself-5.8-revert
hamishknight Feb 14, 2023
b687cb3
Disable stack protection by default
eeckstein Feb 14, 2023
96c2d12
[Build] Limit Ubuntu 18.04 LSAN CI to 12 link jobs
bnbarham Feb 9, 2023
48260f4
Merge pull request #63680 from mikeash/lsan-limit-link-jobs-5.8
mikeash Feb 15, 2023
1ee41da
[Test] Better workaround for filelists.swift
bnbarham Feb 15, 2023
222ed4c
Merge pull request #63661 from eeckstein/disable-stack-protection
tbkka Feb 15, 2023
9a0c21d
Merge pull request #63684 from bnbarham/filelists-test
bnbarham Feb 16, 2023
1b1f783
[stdlib] Define OS versions for the stdlib in Swift 5.8
lorentey Feb 16, 2023
3d736de
Merge pull request #63723 from lorentey/define-os-versions-for-5.8-on…
lorentey Feb 17, 2023
abbaaa9
Merge pull request #63642 from xedin/issue-63455-addition-5.8
xedin Feb 17, 2023
7cc67db
Merge pull request #63526 from xedin/rdar-105089074-5.8
xedin Feb 17, 2023
2e92b49
[CSBindings] Solver result builder transformed closures as soon as al…
xedin Feb 15, 2023
fd74988
[Distributed] correct take semantics for synthesized ID assignments
ktoso Feb 20, 2023
b2641d6
Merge pull request #63756 from xedin/dont-delay-result-builder-conjun…
hborla Feb 20, 2023
5e99d9c
Use `-strict-concurrency=minimal` as the default for Swift 5.x mode.
DougGregor Apr 20, 2022
ae55078
Merge pull request #63786 from kavon/5.8-strict-concurrency-minimal-c…
kavon Feb 21, 2023
51bcd7d
[Distributed] better test for SIL lifetime with AddressOnly types
ktoso Feb 21, 2023
8f20ac7
Merge pull request #63780 from ktoso/pick-distributed-inits-sil-issue
tkremenek Feb 21, 2023
4b2f803
[BuilderTransform] Rework missing `buildWithAvailability` detection
xedin Feb 18, 2023
a08421e
Fix Test in Release Build
Feb 22, 2023
038a9ea
Don't use tsd_private.h in compatibility libraries for ARM64_32.
al45tair Feb 22, 2023
9206c5d
Merge pull request #63414 from compnerd/5.8-static-crypto
tkremenek Feb 22, 2023
b7b428b
Merge pull request #63824 from ktoso/pick-FixCheckFal
glessard Feb 22, 2023
f3e0dd7
Merge pull request #63828 from al45tair/eng/PR-105768086-5.8
tbkka Feb 22, 2023
b9562e1
Merge pull request #63807 from xedin/issue-63764-5.8
tkremenek Feb 23, 2023
c142f66
Remove support for linking arclite (#63662)
tbkka Feb 23, 2023
cfb693e
[ClangImporter] Fix stack-use-after-scope in createClangInvocation
rintaro Feb 24, 2023
fadfeda
SIL: Use a scoped SILBuilder to insert dealloc_stacks for closure cap…
jckarter Feb 21, 2023
b2f7b0a
Merge pull request #63882 from rintaro/5.8-clangimporter-rdar105801504
shahmishal Feb 24, 2023
66c74bb
[NFC] Fix change in SWIFT_CLASS_NAMED macro
beccadax Feb 1, 2023
5e14394
fix bad expansion of SWIFT_ENUM
QuietMisdreavus Feb 24, 2023
6fe0f4e
fix typo in SWIFT_DEPRECATED_OBJC
QuietMisdreavus Feb 28, 2023
b2254bd
backport compatibility-macro fixes to 5.8
QuietMisdreavus Mar 1, 2023
c4a0c8e
Merge pull request #63870 from tbkka/tbkka-5.8-disable-arclite
shahmishal Mar 1, 2023
79f282e
Merge pull request #63995 from apple/QuietMisdreavus/5.8/compat-fixes
franklinsch Mar 6, 2023
490e7f5
Merge pull request #63891 from adrian-prantl/105701833-5.8
tkremenek Mar 10, 2023
41f5e6c
Temporarily disable test stdlib/NSStringAPI.swift
azharudd Mar 16, 2023
385371c
Merge pull request #64411 from apple/azharudd-disable-stdlib-NSString…
shahmishal Mar 16, 2023
ef7a6b8
PredictableMemOpt: fix a wrong debug info location type (#64394)
eeckstein Mar 16, 2023
46cd560
don't assert when a module re-exports a module and one of its symbols…
QuietMisdreavus Mar 22, 2023
48cb50e
Sema: Relax availability checking for `@MainActor`.
tshortli Mar 16, 2023
7db51a5
Merge pull request #64538 from tshortli/relax-unsafe-main-actor-avail…
tkremenek Mar 23, 2023
03dedc1
Merge pull request #64731 from Azoy/update-unicode-15
Azoy Mar 30, 2023
811ecab
Update availability-macros.def
Azoy Mar 30, 2023
2d01578
Merge pull request #64758 from Azoy/update-unicode-data-15-58
Azoy Apr 4, 2023
9acc21e
[5.8] IRGen: Don't directly call async functions that have weak/linko…
aschwaighofer Mar 27, 2023
36bc95b
Basic: add a workaround for VS2019
compnerd Apr 20, 2023
8c3b35d
Revert "Sema: Emit diagnostics when walking into collection literals …
AnthonyLatsis Apr 20, 2023
399457f
Merge pull request #65254 from aschwaighofer/indirect_shared_async_fp…
aschwaighofer Apr 26, 2023
232d94c
Merge pull request #65320 from AnthonyLatsis/revert-f608802cfe498b868…
AnthonyLatsis May 3, 2023
e87acf4
Add -runtime-compatibility-version none to the VFE/WME LTO tests to w…
kubamracek May 3, 2023
9e5b725
Bump the Swift version to 5.8.1
shahmishal May 5, 2023
c90d822
Fix crash when back-deploying concurrency to iOS 15.0/15.1-era OSs
DougGregor May 8, 2023
1366d7e
Account for back-deployed concurrency library
DougGregor May 8, 2023
a9dacaf
Perform OS version checkout without `__builtin_available`.
DougGregor May 8, 2023
9b59cbe
Merge pull request #65727 from apple/bump-swift-version-5.8.1
shahmishal May 8, 2023
04106fb
Merge pull request #65760 from DougGregor/fix-back-deploy-dawn-of-con…
DougGregor May 9, 2023
76f4aac
Merge pull request #65308 from compnerd/58-cl-cxx
compnerd May 11, 2023
6c4331d
[build] Remove runpath from build host from shared ICU libraries on l…
finagolfin May 15, 2023
f1d2768
[Runtime] Fix swift_weakTakeStrong(). (#65857)
al45tair May 18, 2023
a81123d
Disable differentiable_protocol_requirements.swift
shahmishal May 18, 2023
b5ec827
Unblock package bots: Disable tsan test
etcwilde Apr 19, 2023
5ede76b
build lsan with -gline-tables-only (#65424)
justice-adams-apple Apr 26, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
46 changes: 2 additions & 44 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,44 +1,2 @@
# Lines starting with '#' are comments.
# Each line is a file pattern followed by one or more owners.
# Order is important. The last matching pattern has the most precedence.

# Owners of ASTGen
lib/ASTGen @zoecarver @CodaFi

# Dependency scanning
include/swift/DependencyScan @artemcm
lib/AST/ModuleLoader.cpp @artemcm
lib/DependencyScan @artemcm
lib/Frontend/ModuleInterfaceLoader.cpp @artemcm
lib/Serialization/SerializedModuleLoader.cpp @artemcm
test/ScanDependencies @artemcm

# Driver
include/swift/Driver @artemcm
lib/Driver @artemcm
test/Driver @artemcm

# Owners of the parser
include/swift/Parse @ahoppen @bnbarham @CodaFi @DougGregor @rintaro
lib/Parse @ahoppen @bnbarham @CodaFi @DougGregor @rintaro
test/Parse @ahoppen @bnbarham @CodaFi @DougGregor @rintaro

SwiftCompilerSources @eeckstein

# C++ Interop
include/swift/ClangImporter @zoecarver @hyp @egorzhdan
include/swift/PrintAsClang @zoecarver @hyp @egorzhdan
lib/ClangImporter @zoecarver @hyp @egorzhdan
lib/PrintAsClang @zoecarver @hyp @egorzhdan
stdlib/public/Cxx @zoecarver @hyp @egorzhdan
test/Interop @zoecarver @hyp @egorzhdan

# Threading implementation
include/swift/Threading @al45tair
lib/Threading @al45tair

# Windows support
cmake/**/*Windows* @compnerd
lib/Basic/Windows @compnerd
stdlib/public/Windows @compnerd
utils/*windows* @compnerd
# For the release branch @apple/swift5-branch-managers needs to approve the changes
* @apple/swift5-branch-managers
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,33 @@ _**Note:** This is in reverse chronological order, so newer entries are added to

## Swift 5.8

* [SE-0376][]:

The `@backDeployed(before:)` attribute may now be used to extend the availability of a function to OS releases prior to the introduction of that function as ABI.

For example, suppose that `struct Temperature` was introduced in a macOS SDK framework in macOS 12. Later in macOS 13 the framework authors decided to add a `degreesFahrenheit` property as a convenience:

```swift
@available(macOS 12, *)
public struct Temperature {
public var degreesCelsius: Double

// ...
}

extension Temperature {
@available(macOS 12, *)
@backDeployed(before: macOS 13)
public var degreesFahrenheit: Double {
return (degreesCelsius * 9 / 5) + 32
}
}
```

Adding the `@backDeployed` attribute to `degreesFahrenheit` enables the framework author to make this new declaration available to apps with a minimum deployment target of macOS 12, even though the ABI entry point for `degreesFahrenheit` is only present in macOS 13 and up.

When a function with `@backDeployed` is called, the compiler wraps the invocation of the function in a thunk. The thunk checks whether the library entry point for the declaration is available at runtime, and invokes it if it is. Otherwise, a copy of the function that was emitted into the client is called instead.

* [#56139][]:

Сollection downcasts in cast patterns are now supported. For example:
Expand Down Expand Up @@ -9611,6 +9638,7 @@ using the `.dynamicType` member to retrieve the type of an expression should mig
[SE-0362]: <https://github.com/apple/swift-evolution/blob/main/proposals/0362-piecemeal-future-features.md>
[SE-0365]: <https://github.com/apple/swift-evolution/blob/main/proposals/0365-implicit-self-weak-capture.md>
[SE-0370]: <https://github.com/apple/swift-evolution/blob/main/proposals/0370-pointer-family-initialization-improvements.md>
[SE-0376]: <https://github.com/apple/swift-evolution/blob/main/proposals/0376-function-back-deployment.md>

[#42697]: <https://github.com/apple/swift/issues/42697>
[#42728]: <https://github.com/apple/swift/issues/42728>
Expand Down
14 changes: 7 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ set(SWIFT_ANALYZE_CODE_COVERAGE FALSE CACHE STRING
# SWIFT_VERSION is deliberately /not/ cached so that an existing build directory
# can be reused when a new version of Swift comes out (assuming the user hasn't
# manually set it as part of their own CMake configuration).
set(SWIFT_VERSION "5.8")
set(SWIFT_VERSION "5.8.1")

set(SWIFT_VENDOR "" CACHE STRING
"The vendor name of the Swift compiler")
Expand Down Expand Up @@ -440,16 +440,16 @@ set(SWIFT_DARWIN_STDLIB_INSTALL_NAME_DIR "/usr/lib/swift" CACHE STRING
set(SWIFT_DARWIN_STDLIB_PRIVATE_INSTALL_NAME_DIR "@rpath" CACHE STRING
"The directory of the install_name for the private standard library dylibs")

set(SWIFT_DARWIN_DEPLOYMENT_VERSION_OSX "10.9" CACHE STRING
set(SWIFT_DARWIN_DEPLOYMENT_VERSION_OSX "10.13" CACHE STRING
"Minimum deployment target version for OS X")

set(SWIFT_DARWIN_DEPLOYMENT_VERSION_IOS "7.0" CACHE STRING
set(SWIFT_DARWIN_DEPLOYMENT_VERSION_IOS "11.0" CACHE STRING
"Minimum deployment target version for iOS")

set(SWIFT_DARWIN_DEPLOYMENT_VERSION_TVOS "9.0" CACHE STRING
set(SWIFT_DARWIN_DEPLOYMENT_VERSION_TVOS "11.0" CACHE STRING
"Minimum deployment target version for tvOS")

set(SWIFT_DARWIN_DEPLOYMENT_VERSION_WATCHOS "2.0" CACHE STRING
set(SWIFT_DARWIN_DEPLOYMENT_VERSION_WATCHOS "4.0" CACHE STRING
"Minimum deployment target version for watchOS")

#
Expand Down Expand Up @@ -1188,8 +1188,8 @@ else()
add_subdirectory(stdlib/public/BackDeployConcurrency)
endif()

# Some tools (e.g. swift-reflection-dump) rely on a host swiftReflection, so
# ensure we build that when building tools.
# Some tools (e.g. swift-reflection-dump) rely on a host swiftRemoteInspection,
# so ensure we build that when building tools.
if(SWIFT_INCLUDE_TOOLS)
add_subdirectory(stdlib/public/SwiftShims/swift/shims)
endif()
Expand Down
1 change: 1 addition & 0 deletions CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @apple/swift5-branch-managers
Original file line number Diff line number Diff line change
Expand Up @@ -810,7 +810,10 @@ fileprivate struct EscapeWalker<V: EscapeVisitor> : ValueDefUseWalker,
switch effect.kind {
case .escapingToReturn(let toPath, let exclusive):
if exclusive && path.projectionPath.matches(pattern: toPath) {
let arg = apply.arguments[effect.argumentIndex]
guard let callerArgIdx = apply.callerArgIndex(calleeArgIndex: effect.argumentIndex) else {
return .abortWalk
}
let arg = apply.arguments[callerArgIdx]

let p = Path(projectionPath: effect.pathPattern, followStores: path.followStores, knownType: nil)
if walkUp(addressOrValue: arg, path: p) == .abortWalk {
Expand Down
17 changes: 15 additions & 2 deletions SwiftCompilerSources/Sources/SIL/Location.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,24 @@

import SILBridging

public struct Location {
public struct Location: Equatable, CustomStringConvertible {
let bridged: swift.SILDebugLocation


public var description: String {
let stdString = SILLocation_debugDescription(bridged)
return String(_cxxString: stdString)
}

/// Keeps the debug scope but marks it as auto-generated.
public var autoGenerated: Location {
Location(bridged: SILLocation_getAutogeneratedLocation(bridged))
}

public static func ==(lhs: Location, rhs: Location) -> Bool {
SILLocation_equal(lhs.bridged, rhs.bridged)
}

public func hasSameSourceLocation(as other: Location) -> Bool {
SILLocation_hasSameSourceLocation(bridged, other.bridged)
}
}
8 changes: 8 additions & 0 deletions cmake/modules/SwiftConfigureSDK.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,14 @@ function(remove_sdk_unsupported_archs name os sdk_path architectures_var)
# 32-bit iOS simulator is not listed explicitly in SDK settings.
message(STATUS "Assuming ${name} SDK at ${sdk_path} supports architecture ${arch}")
list(APPEND architectures ${arch})
elseif(arch STREQUAL "armv7k" AND os STREQUAL "watchos")
# 32-bit watchOS is not listed explicitly in SDK settings.
message(STATUS "Assuming ${name} SDK at ${sdk_path} supports architecture ${arch}")
list(APPEND architectures ${arch})
elseif(arch STREQUAL "i386" AND os STREQUAL "watchsimulator")
# 32-bit watchOS simulator is not listed explicitly in SDK settings.
message(STATUS "Assuming ${name} SDK at ${sdk_path} supports architecture ${arch}")
list(APPEND architectures ${arch})
else()
message(STATUS "${name} SDK at ${sdk_path} does not support architecture ${arch}")
endif()
Expand Down
1 change: 1 addition & 0 deletions docs/ABI/Mangling.rst
Original file line number Diff line number Diff line change
Expand Up @@ -653,6 +653,7 @@ Types
type ::= assoc-type-name 'Qz' // shortcut for 'Qyz'
type ::= assoc-type-list 'QY' GENERIC-PARAM-INDEX // associated type at depth
type ::= assoc-type-list 'QZ' // shortcut for 'QYz'
type ::= opaque-type-decl-name bound-generic-args 'Qo' INDEX // opaque type

type ::= pattern-type count-type 'Qp' // pack expansion type
type ::= pack-element-list 'QP' // pack type
Expand Down
12 changes: 1 addition & 11 deletions docs/ReferenceGuides/UnderscoredAttributes.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,17 +53,7 @@ Adding this attribute to a type leads to remarks being emitted for all methods.

## `@_backDeploy(before: ...)`

Causes the body of a function to be emitted into the module interface to be
available for emission into clients with deployment targets lower than the
ABI availability of the function. When the client's deployment target is
before the function's ABI availability, the compiler replaces calls to that
function with a call to a thunk that checks at runtime whether the original
library function is available. If the original is available then it is
called. Otherwise, the fallback copy of the function that was emitted into the
client is called instead.

For more details, see the [pitch thread](https://forums.swift.org/t/pitch-function-back-deployment/55769/)
in the forums.
The spelling of `@backDeployed(before:)` prior to the acceptance of [SE-0376](https://github.com/apple/swift-evolution/blob/main/proposals/0376-function-back-deployment.md).

## `@_borrowed`

Expand Down
18 changes: 18 additions & 0 deletions include/swift/ABI/MetadataValues.h
Original file line number Diff line number Diff line change
Expand Up @@ -2383,6 +2383,24 @@ enum class TaskOptionRecordKind : uint8_t {
RunInline = UINT8_MAX,
};

/// Flags for TaskGroup.
class TaskGroupFlags : public FlagSet<uint32_t> {
public:
enum {
// 8 bits are reserved for future use
/// Request the TaskGroup to immediately release completed tasks,
/// and not store their results. This also effectively disables `next()`.
TaskGroup_DiscardResults = 8,
};

explicit TaskGroupFlags(uint32_t bits) : FlagSet(bits) {}
constexpr TaskGroupFlags() {}

FLAGSET_DEFINE_FLAG_ACCESSORS(TaskGroup_DiscardResults,
isDiscardResults,
setIsDiscardResults)
};

/// Flags for cancellation records.
class TaskStatusRecordFlags : public FlagSet<size_t> {
public:
Expand Down
8 changes: 8 additions & 0 deletions include/swift/ABI/TaskGroup.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,14 @@ class alignas(Alignment_TaskGroup) TaskGroup {

// Provide accessor for task group's status record
TaskGroupTaskStatusRecord *getTaskRecord();

/// The group is a `TaskGroup` that accumulates results.
bool isAccumulatingResults() {
return !isDiscardingResults();
}

/// The group is a `DiscardingTaskGroup` that discards results.
bool isDiscardingResults();
};

} // end namespace swift
Expand Down
10 changes: 6 additions & 4 deletions include/swift/ABI/TaskStatus.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,9 @@ class TaskStatusRecord {
TaskStatusRecord(const TaskStatusRecord &) = delete;
TaskStatusRecord &operator=(const TaskStatusRecord &) = delete;

TaskStatusRecordKind getKind() const { return Flags.getKind(); }
TaskStatusRecordKind getKind() const {
return Flags.getKind();
}

TaskStatusRecord *getParent() const { return Parent; }

Expand Down Expand Up @@ -179,8 +181,7 @@ class TaskGroupTaskStatusRecord : public TaskStatusRecord {
TaskGroupTaskStatusRecord()
: TaskStatusRecord(TaskStatusRecordKind::TaskGroup),
FirstChild(nullptr),
LastChild(nullptr) {
}
LastChild(nullptr) {}

TaskGroupTaskStatusRecord(AsyncTask *child)
: TaskStatusRecord(TaskStatusRecordKind::TaskGroup),
Expand All @@ -189,7 +190,8 @@ class TaskGroupTaskStatusRecord : public TaskStatusRecord {
assert(!LastChild || !LastChild->childFragment()->getNextChild());
}

TaskGroup *getGroup() { return reinterpret_cast<TaskGroup *>(this); }
/// Get the task group this record is associated with.
TaskGroup *getGroup();

/// Return the first child linked by this record. This may be null;
/// if not, it (and all of its successors) are guaranteed to satisfy
Expand Down
22 changes: 22 additions & 0 deletions include/swift/AST/ActorIsolation.h
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,8 @@ class ActorIsolation {
return getKind() == GlobalActor || getKind() == GlobalActorUnsafe;
}

bool isMainActor() const;

bool isDistributedActor() const;

Type getGlobalActor() const {
Expand Down Expand Up @@ -238,6 +240,26 @@ bool isSameActorIsolated(ValueDecl *value, DeclContext *dc);
/// Determines whether this function's body uses flow-sensitive isolation.
bool usesFlowSensitiveIsolation(AbstractFunctionDecl const *fn);

/// Check if it is safe for the \c globalActor qualifier to be removed from
/// \c ty, when the function value of that type is isolated to that actor.
///
/// In general this is safe in a narrow but common case: a global actor
/// qualifier can be dropped from a function type while in a DeclContext
/// isolated to that same actor, as long as the value is not Sendable.
///
/// \param dc the innermost context in which the cast to remove the global actor
/// is happening.
/// \param globalActor global actor that was dropped from \c ty.
/// \param ty a function type where \c globalActor was removed from it.
/// \param getClosureActorIsolation function that knows how to produce accurate
/// information about the isolation of a closure.
/// \return true if it is safe to drop the global-actor qualifier.
bool safeToDropGlobalActor(
DeclContext *dc, Type globalActor, Type ty,
llvm::function_ref<ClosureActorIsolation(AbstractClosureExpr *)>
getClosureActorIsolation =
_getRef__AbstractClosureExpr_getActorIsolation());

void simple_display(llvm::raw_ostream &out, const ActorIsolation &state);

} // end namespace swift
Expand Down
19 changes: 10 additions & 9 deletions include/swift/AST/Attr.h
Original file line number Diff line number Diff line change
Expand Up @@ -2214,15 +2214,12 @@ class UnavailableFromAsyncAttr : public DeclAttribute {

/// The @_backDeploy(...) attribute, used to make function declarations available
/// for back deployment to older OSes via emission into the client binary.
class BackDeployAttr: public DeclAttribute {
class BackDeployedAttr : public DeclAttribute {
public:
BackDeployAttr(SourceLoc AtLoc, SourceRange Range,
PlatformKind Platform,
const llvm::VersionTuple Version,
bool Implicit)
: DeclAttribute(DAK_BackDeploy, AtLoc, Range, Implicit),
Platform(Platform),
Version(Version) {}
BackDeployedAttr(SourceLoc AtLoc, SourceRange Range, PlatformKind Platform,
const llvm::VersionTuple Version, bool Implicit)
: DeclAttribute(DAK_BackDeployed, AtLoc, Range, Implicit),
Platform(Platform), Version(Version) {}

/// The platform the symbol is available for back deployment on.
const PlatformKind Platform;
Expand All @@ -2234,7 +2231,7 @@ class BackDeployAttr: public DeclAttribute {
bool isActivePlatform(const ASTContext &ctx) const;

static bool classof(const DeclAttribute *DA) {
return DA->getKind() == DAK_BackDeploy;
return DA->getKind() == DAK_BackDeployed;
}
};

Expand Down Expand Up @@ -2367,6 +2364,10 @@ class DeclAttributes {
/// otherwise.
const AvailableAttr *getNoAsync(const ASTContext &ctx) const;

/// Returns the `@backDeployed` attribute that is active for the current
/// platform.
const BackDeployedAttr *getBackDeployed(const ASTContext &ctx) const;

SWIFT_DEBUG_DUMPER(dump(const Decl *D = nullptr));
void print(ASTPrinter &Printer, const PrintOptions &Options,
const Decl *D = nullptr) const;
Expand Down
6 changes: 6 additions & 0 deletions include/swift/AST/Availability.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

namespace swift {
class ASTContext;
class AvailableAttr;
class Decl;

/// A lattice of version ranges of the form [x.y.z, +Inf).
Expand Down Expand Up @@ -344,6 +345,11 @@ class AvailabilityInference {
/// We assume a declaration without an annotation is always available.
static AvailabilityContext availableRange(const Decl *D, ASTContext &C);

/// Returns the attribute that should be used to determine the availability
/// range of the given declaration, or nullptr if there is none.
static const AvailableAttr *attrForAnnotatedAvailableRange(const Decl *D,
ASTContext &Ctx);

/// Returns the context for which the declaration
/// is annotated as available, or None if the declaration
/// has no availability annotation.
Expand Down
4 changes: 4 additions & 0 deletions include/swift/AST/Builtins.def
Original file line number Diff line number Diff line change
Expand Up @@ -793,6 +793,10 @@ BUILTIN_MISC_OPERATION(ResumeThrowingContinuationThrowing,
BUILTIN_MISC_OPERATION(CreateTaskGroup,
"createTaskGroup", "", Special)

/// Create a task group, with options.
BUILTIN_MISC_OPERATION(CreateTaskGroupWithFlags,
"createTaskGroupWithFlags", "", Special)

/// Destroy a task group.
BUILTIN_MISC_OPERATION(DestroyTaskGroup,
"destroyTaskGroup", "", Special)
Expand Down
Loading