Skip to content

Merge 2020-10-28 into tensorflow #34477

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

Merged
merged 1,115 commits into from
Nov 3, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1115 commits
Select commit Hold shift + click to select a range
0c51dda
Sema: Pull @_implementationOnly override checking out of Exportabilit…
slavapestov Oct 16, 2020
0ea1367
Sema: Refactoring in preparation for conformance availability checking
slavapestov Oct 15, 2020
50c44c2
Sema: Don't desugar the type when diagnosing unexportable Clang funct…
slavapestov Oct 19, 2020
f48aa51
Sema: Remove ExportabilityChecker
slavapestov Oct 16, 2020
e10df96
Sema: Fold TypeChecker::isDeclAvailable() into its callers
slavapestov Oct 19, 2020
c2ed347
Sema: Pass ValueDecl instead of ConcreteDeclRef in a few places in av…
slavapestov Oct 19, 2020
9f08ab3
Sema: Remove an unnecessary overload of TypeChecker::diagnosePotentia…
slavapestov Oct 19, 2020
3044c05
Sema: Wrap up some availability-related state in a new ExportContext …
slavapestov Oct 20, 2020
a824e5a
Sema: Refactor getDisallowedOriginKind() to take an ExportContext
slavapestov Oct 20, 2020
73dc49f
[Build System] Remove tvOS i368 slice before copying the libs
shahmishal Oct 20, 2020
cfb4a0f
Merge pull request #34284 from CodaFi/testable-hypotheses
CodaFi Oct 20, 2020
ef73c39
tests: fix APINotes/blocks.swift
eeckstein Oct 20, 2020
077e814
Merge pull request #34334 from aschwaighofer/fix_sil_box_type_opaque_…
aschwaighofer Oct 20, 2020
6b1f6c1
Merge pull request #34363 from eeckstein/fix-test
swift-ci Oct 20, 2020
0883836
Merge pull request #34361 from apple/shahmishal/r70443440
shahmishal Oct 20, 2020
c5176c0
Update swift-rpathize.py to work with Python 3.8 and Python 2.7 (#34332)
tbkka Oct 20, 2020
59aff3e
Update ObjectIdentifier.swift
sunbohong Oct 20, 2020
c2159e2
Update ObjectIdentifier.swift
sunbohong Oct 20, 2020
792c4b7
Merge pull request #34360 from artemcm/DoNotEscapeScannerOutputStrings
artemcm Oct 20, 2020
09fc82a
Merge pull request #34299 from compnerd/i-dont-visual-c-you
compnerd Oct 20, 2020
8d2c85d
Merge pull request #34357 from gottesmm/pr-5b70b29de84d902644bc21dc53…
gottesmm Oct 20, 2020
6a40a3a
[SE-0289] Add support for @resultBuilder.
DougGregor Oct 20, 2020
7e16e3b
Merge pull request #30630 from martinboehme/cxx-constructors
swift-ci Oct 20, 2020
c0d664d
Merge pull request #34329 from slavapestov/nuke-exportability-checker
slavapestov Oct 20, 2020
9f83ced
Add more file-level comments to MemAccessUtils.
atrick Oct 20, 2020
090d57a
Look past class casts when finding the reference root.
atrick Sep 28, 2020
f31296d
Fix isRCIdentityPreservingCast to handle trivial-to-reference casts
atrick Oct 14, 2020
d8dd620
Test cases for AccessedStorage with reference casts.
atrick Sep 28, 2020
abecaa3
[Gardening] Move Fingerprints Tests Under Incremental
CodaFi Oct 20, 2020
5260a62
[Gardening] Drop 'private-' Prefix From Tests
CodaFi Oct 20, 2020
9e0dd2a
[NFC] Remove Reference to "private" in Incremental Test
CodaFi Oct 20, 2020
db594b5
Merge pull request #34368 from atrick/comment-memutils
swift-ci Oct 21, 2020
971932d
Merge pull request #34159 from atrick/opt-ref-root
swift-ci Oct 21, 2020
9671299
Merge pull request #34369 from CodaFi/dusting-off-fingerprints
swift-ci Oct 21, 2020
a3fc337
[CMake] Compile with library evolution for all Darwin platforms.
varungandhi-apple Oct 21, 2020
dd4a9f3
[CMake] Enable library evolution for Darwin overlay.
varungandhi-apple Oct 21, 2020
548b96a
Sema: Add documentation comments for ExportContext
slavapestov Oct 20, 2020
d579b69
Sema: Teach ExportContext to compute whether we're inside a deprecate…
slavapestov Oct 20, 2020
78d2cf2
Sema: Teach ExportContext to compute whether we're inside an implicit…
slavapestov Oct 20, 2020
85d2495
Sema: Teach ExportContext to compute whether we're inside an unavaila…
slavapestov Oct 21, 2020
8347470
Enable SILMem2Reg for OSSA
meg-gupta Sep 9, 2020
0ea5d05
Delete debug_value_addr of stack location, if a debug_value of the Ru…
meg-gupta Oct 12, 2020
06eaf6b
Disable SILCombine of unchecked_bitwise_cast to unchecked_ref_cast in…
meg-gupta Oct 12, 2020
ce90767
Merge pull request #34260 from kavon/actorUnsafe
DougGregor Oct 21, 2020
0d568a9
[SE-0289] Update diagnostics & many other strings to "result builders"
DougGregor Oct 21, 2020
6d41524
[SE-0289] Finish renaming source code, tests to "result builders"
DougGregor Oct 21, 2020
b6c0145
[SE-0289] Continue printing @_functionBuilder in .swiftinterfaces.
DougGregor Oct 21, 2020
c6be347
SILCombine: fix metatype simplification
eeckstein Oct 21, 2020
0d6e79c
Merge pull request #34375 from eeckstein/fix-metadat-combine
eeckstein Oct 21, 2020
4a4c6c0
Update ObjectIdentifier.swift
sunbohong Oct 21, 2020
1be7171
Merge pull request #34350 from mikeash/remove-os-object-test-workaround
mikeash Oct 21, 2020
bf7fa56
Merge pull request #34354 from mikeash/restore-objc_addLoadImageFunc
mikeash Oct 21, 2020
3b6fd4e
Merge pull request #34374 from DougGregor/se-0289-result-builders-rename
DougGregor Oct 21, 2020
ada53b1
Merge pull request #34371 from varungandhi-apple/vg-cmake-Darwin-libr…
varungandhi-apple Oct 21, 2020
74144e4
Platform: extract `WLANAPI` module on Windows
compnerd Oct 21, 2020
a790439
Merge pull request #34276 from meg-gupta/mem2regossa
meg-gupta Oct 21, 2020
0044e7d
[ownership] Move OME past SILMem2Reg
meg-gupta Oct 21, 2020
e185295
[Concurrency] Drop "get" prefix when importing Objective-C methods as…
DougGregor Oct 21, 2020
b0bda13
LoadBorrowInvalidation: fix mysteriously inverted boolean returns.
atrick Oct 4, 2020
4f05d8a
LoadBorrowImmutabilityChecker renaming.
atrick Oct 8, 2020
be73343
Merge pull request #34372 from slavapestov/more-export-context-refact…
slavapestov Oct 21, 2020
8e3fb44
Rewrite LoadBorrowImmutabilityChecker using AccessPath.
atrick Sep 1, 2020
0f1beed
Reenable load-borrow checker.
atrick Oct 14, 2020
987d055
[Mangler] Handle mangling for Clang types not derivable from Swift ty…
varungandhi-apple Oct 15, 2020
6cb71c6
[ASTPrinter] Print Clang type only if not derivable from Swift type.
varungandhi-apple Oct 6, 2020
97202fa
[Async CC] Put direct returns after indirect returns.
nate-chandler Oct 14, 2020
a9aee1b
[Async CC] Put bindings after formal arguments.
nate-chandler Oct 16, 2020
409f3d2
[NFC] Removed Explosion::peek.
nate-chandler Oct 19, 2020
0356c9f
[NFC] Simplify saving of self to async context.
nate-chandler Oct 20, 2020
63b5ba4
[NFC] Used consistent style for casting.
nate-chandler Oct 21, 2020
03f4e40
[Async CC] Move self after formal arguments.
nate-chandler Oct 20, 2020
a9f497d
[utils/swift_build_sdk_interfaces.py] Remove passing '-track-system-d…
akyrtzi Oct 21, 2020
cb900a6
Merge pull request #34057 from varungandhi-apple/vg-track-isDerivable…
swift-ci Oct 22, 2020
af5fa5e
Remove `isPrivateToEnclosingFile` Accessor
CodaFi Oct 22, 2020
c3881d9
[NFC] Pull the Computation of Fingerprints Into the Common Base Class
CodaFi Oct 22, 2020
e2e19dc
Add Compilation "Wave" Assertion in +Asserts Builds
CodaFi Oct 22, 2020
8145566
Merge pull request #34380 from meg-gupta/moveomepastmem2reg
meg-gupta Oct 22, 2020
f0f2246
[cxx-interop] Support C++ function templates in Swift. (#33053)
zoecarver Oct 22, 2020
24ea8be
[Concurrency] Move removal of leading "get" for async imports.
DougGregor Oct 22, 2020
c18331c
Move swift_task_alloc/dealloc into the Concurrency library.
rjmccall Oct 15, 2020
a8464dc
Implicitly import _Concurrency under -enable-experimental-concurrency
rjmccall Oct 22, 2020
b717c7d
Prepare for a more real task-local alloocator implementation.
rjmccall Oct 16, 2020
c31dab2
Add a missing `inline`.
rjmccall Oct 16, 2020
76d8f03
Make the task allocator verify stack discipline in the laziest possib…
rjmccall Oct 16, 2020
a06d18c
Add API for creating unscheduled tasks.
rjmccall Oct 21, 2020
8521453
[Concurrency] Drop "Asynchronously" suffix from imported 'async' meth…
DougGregor Oct 22, 2020
051f4c4
Sema: Improve comments based on code review feedback
slavapestov Oct 21, 2020
0f27312
Sema: Refactor TypeChecker::diagnoseInlinableDeclRef()
slavapestov Oct 21, 2020
b3dadc8
AST: Use VarDecl::isInitExposedToClients() from DeclContext::getFragi…
slavapestov Oct 21, 2020
5f5372a
Sema: Don't check SPI violations in diagnoseInlinableDeclRefAccess()
slavapestov Oct 21, 2020
0dffe5c
Sema: Use VarDecl::isLayoutExposedToClients() when checking access in…
slavapestov Oct 22, 2020
b4c568e
Sema: Use VarDecl::isLayoutExposedToClients() when checking if @_spi …
slavapestov Oct 22, 2020
01bc774
Sema: Enforce that stored properties of @_fixed_layout classes only r…
slavapestov Oct 22, 2020
fa50221
Sema: Use VarDecl::isLayoutExposedToClients() when checking VarDecl e…
slavapestov Oct 22, 2020
91a8a82
Merge pull request #34384 from akyrtzi/util-prebuild-modules-stop-sys…
akyrtzi Oct 22, 2020
a353176
Merge pull request #34385 from atrick/rewrite-loadborrowchecker
atrick Oct 22, 2020
587a8da
Sema: Don't forget to visit conformances introduced by non-generic types
slavapestov Oct 22, 2020
8af4405
AST: 'lazy' property initializers are never @inlinable
slavapestov Oct 22, 2020
bbe9cb7
Merge pull request #34378 from compnerd/wlanapi
compnerd Oct 22, 2020
a9af098
Update ObjectIdentifier.swift
sunbohong Oct 22, 2020
fa9d4fd
Merge pull request #34382 from DougGregor/concurrency-objc-get-async
DougGregor Oct 22, 2020
fe89764
Merge pull request #34390 from slavapestov/misc-availability-fixes
slavapestov Oct 22, 2020
2f08835
Merge pull request #34388 from rjmccall/import-concurrency
rjmccall Oct 22, 2020
785b182
Merge pull request #34381 from rjmccall/task-creation-api
rjmccall Oct 22, 2020
506473d
[Async CC] Supported partial application.
nate-chandler Oct 21, 2020
16104d8
[Concurrency] Don't lose name information from completion-handler arg…
DougGregor Oct 22, 2020
64ec60b
Merge pull request #34370 from nate-chandler/concurrency/irgen/partia…
swift-ci Oct 22, 2020
223d7b9
Fix isStartOfSwiftDecl to allow qualified types and generic arguments…
rjmccall Oct 22, 2020
f21a306
[AST] Introduce BuiltinProtocolConformance
Azoy May 23, 2020
4b71d67
[ABI] Introduce MetadataKind TypeRef
Azoy May 23, 2020
e60ef84
Implement Tuple Equatable Conformance
Azoy May 30, 2020
df9778e
[Compatibility53] Add compatibility library for 5.3 and backport tupl…
Azoy Jun 6, 2020
fd950eb
Implement Tuple Comparable Conformance
Azoy Jul 18, 2020
13b5bf4
[Compatibility53] Backport Tuple Comparable Conformance
Azoy Jul 18, 2020
58e643e
[Runtime] Tuple Comparable associated conformance is not evenly aligned
Azoy Jul 20, 2020
4ff28f2
Implement Tuple Hashable Conformance
Azoy Jul 20, 2020
5e03e33
[Compatibility53] Backport Tuple Hashable Conformance
Azoy Jul 20, 2020
7468375
[ABI] Split TypeReferenceKind from TypeMetadataRecord
Azoy Jul 25, 2020
7a6ea99
[Runtime] Clean up the assembly around Tuple builtin conformances
Azoy Jul 25, 2020
b78da2d
[Runtime] Add stubs for indirect symbols on armv7/s, add missing newl…
Azoy Aug 3, 2020
05cc4aa
[Runtime] Emit non lazy stub pointers for 32 bit x86 for tuple confor…
Azoy Aug 10, 2020
48ea837
Manually define _rawHashValue in compatibility libraries, AST fixes f…
Azoy Aug 26, 2020
33771cf
Merge pull request #34387 from CodaFi/a-giraffe-on-a-beach
CodaFi Oct 22, 2020
4a89483
ClangImporter: support the MS anonymous structure extension
compnerd Oct 22, 2020
b094758
Merge pull request #34394 from DougGregor/concurrency-objc-name-adjus…
DougGregor Oct 22, 2020
3c2f1e4
Merge pull request #34396 from rjmccall/tentative-custom-attr-parsing
rjmccall Oct 23, 2020
39cc436
Merge pull request #34347 from apple/PatrickPijnappel-float-comment
xwu Oct 23, 2020
a7f4534
Harden swift-rpathize against possible first-column output from dyldinfo
rjmccall Oct 23, 2020
9e27835
Merge pull request #34404 from rjmccall/harden-rpathize
swift-ci Oct 23, 2020
9f8b966
Add a test that checks that ClangImporter chooses only exported modul…
scentini Oct 23, 2020
16e5417
Update ObjectIdentifier.swift
sunbohong Oct 23, 2020
9c9c5da
Update ObjectIdentifier.swift
sunbohong Oct 23, 2020
0fb4080
Fix destination for clang-builtin-headers-in-clang-resource-dir (#34364)
edymtt Oct 23, 2020
b985817
[Runtime] Add Native Windows support for builtin conformances
Azoy Aug 30, 2020
2e65e49
remove extra "by"
literalpie Oct 23, 2020
1f47989
Revert "[NFC] Clarify semantics of getImportedModules."
varungandhi-apple Oct 23, 2020
989ea5b
[IRGen] Track repeated requirements for async functions in NecessaryB…
nate-chandler Oct 22, 2020
6829b66
[NFC] Replaced include with forward declaration.
nate-chandler Oct 22, 2020
b8a5b62
[NFC] Cached the layout in AsyncCallEmission.
nate-chandler Oct 22, 2020
128c7bc
[NFC] Whitespace.
nate-chandler Oct 22, 2020
e066588
[IRGen] Temporarily treat @async @convention(c) as not async.
nate-chandler Oct 23, 2020
9135eaf
[Test] Temporarily mark async execution tests' main @async.
nate-chandler Oct 23, 2020
c2469fc
[Test] Made async exec tests obey async rule.
nate-chandler Oct 16, 2020
a963d0a
[Async CC] Added TODO for codesize improvement.
nate-chandler Oct 23, 2020
3cd6a65
Merge pull request #34395 from compnerd/clang-importer
compnerd Oct 23, 2020
303d88c
[Build] Remove Differentiation without tgmath (#34409)
edymtt Oct 23, 2020
a43cb01
Update ObjectIdentifier.swift
natecook1000 Oct 23, 2020
4a52f5a
[ownership] Add another run of SemanticARCOpts right before eliminati…
gottesmm Oct 23, 2020
b3578ab
Add regression test for https://bugs.swift.org/browse/SR-12473 / rdar…
slavapestov Oct 23, 2020
acef026
Add regression test for https://bugs.swift.org/browse/SR-13727 / rdar…
slavapestov Oct 23, 2020
1d2c426
Distinguish raw stringd from multiline delimiters [SR-10011]
maustinstar Oct 23, 2020
fe4f7a5
Test cases for false multiline delimiters
maustinstar Oct 23, 2020
bdd7b42
[copy-propagation] Since this runs on OSSA and we have formalized con…
gottesmm Oct 23, 2020
35f856f
Merge pull request #34408 from literalpie/patch-2
swift-ci Oct 24, 2020
860e14e
[CSGen] Remove redundant `r-value adjustment` constraint
xedin Oct 24, 2020
b385332
Merge pull request #34413 from gottesmm/pr-125681629f67f2d2cfe3cde57c…
gottesmm Oct 24, 2020
8c5737d
[ownership] Change thin_to_thick function to always produce a none va…
gottesmm Oct 23, 2020
360e406
SIL: Rename SILFunction::hasSelfMetadataParam()/getSelfMetadataArgume…
slavapestov Oct 23, 2020
7f2b01c
DI: Fix crash when value_metatype was used with a non-class 'self' type
slavapestov Oct 23, 2020
37f2bc1
DI: Add non-working code for handling value_metatype when used on an …
slavapestov Oct 24, 2020
fc2bd05
Merge pull request #34416 from gottesmm/pr-494b149e92fdf8f15a07109c6a…
gottesmm Oct 24, 2020
e53290d
Remove redundant false delimiter check
maustinstar Oct 24, 2020
b72fb1c
Test zero-width chars nested within false delimiter
maustinstar Oct 24, 2020
d6d01aa
Consistent comment format for test description
maustinstar Oct 24, 2020
75eed47
Note for zero-width chars in multiline delimiter
maustinstar Oct 24, 2020
40ce7f6
Merge pull request #34415 from gottesmm/pr-7013fe1c78c3e6068b82f70954…
gottesmm Oct 24, 2020
442fc68
Merge pull request #34419 from slavapestov/type-of-self-protocol-conv…
slavapestov Oct 24, 2020
93f22cd
Merge pull request #34420 from slavapestov/two-regression-tests
slavapestov Oct 24, 2020
527fb5d
SIL: Enum protocol witness thunks should be [serializable]
slavapestov Oct 24, 2020
5413488
SILGen: Fix crash in emitEnumConstructor() if type lowering depends o…
slavapestov Oct 24, 2020
246fe46
Merge pull request #34422 from egorzhdan/winsdk
egorzhdan Oct 24, 2020
184367c
[stdlib] Fix Array.append(contentsOf:) for arguments of type NSArray
lorentey Oct 24, 2020
fa4e814
Merge pull request #34421 from slavapestov/enum-protocol-witness-vs-r…
slavapestov Oct 25, 2020
05faa07
[cxx-interop] Support bool-based enums.
zoecarver Oct 20, 2020
3a87cbe
[cxx-interop] Disable importing fully specialized class templates.
zoecarver Oct 25, 2020
1683fb9
[ConstraintSystem] Remove `RValueAdjustment` locator element
xedin Oct 26, 2020
9023e56
[Concurrency] Add minimal placeholders for Task and UnsafeContinuation
ktoso Oct 20, 2020
07f80be
[Concurrency] API stubs: Task.Handle, priority and runDetached
ktoso Oct 26, 2020
d6adac3
[Concurrency] Stubs for Task.current()
ktoso Oct 26, 2020
579c89c
[Concurrency] More documentation of Task.Priority
ktoso Oct 26, 2020
bfbeb90
Add tests testing more complicated template scenarios for #32950. (#3…
hlopko Oct 26, 2020
7f09bbf
Merge pull request #33698 from atrick/fix-smallstring
atrick Oct 26, 2020
d1bfe02
Merge pull request #34402 from nate-chandler/concurrency/irgen/tests-…
nate-chandler Oct 26, 2020
d82e0ff
SILInliner: Critical edges have no code size impact.
atrick Sep 26, 2018
84e5fd2
Merge pull request #28833 from Azoy/void-is-equatable
Azoy Oct 26, 2020
92fe04f
Merge pull request #34432 from xedin/remove-rvalue-adjument
xedin Oct 26, 2020
672409d
[cxx-interop] Temporarily disable class-template-variadic test
hlopko Oct 26, 2020
dabdd96
Merge pull request #34440 from hlopko/disable_variadic_test
Catfish-Man Oct 26, 2020
d8dcf61
Improve SimplifyCFG: remove conditional branches to the same target.
atrick Oct 20, 2020
d32a371
Merge pull request #34410 from varungandhi-apple/vg-revert-import-fil…
varungandhi-apple Oct 26, 2020
8b6a09b
configure Swift test options with CMake
rmaz Oct 23, 2020
5d28fbd
SILCombiner: Use a substitution list with concrete type if we can cas…
aschwaighofer Oct 26, 2020
58d07a4
Merge pull request #34426 from lorentey/array-cannot-append
lorentey Oct 26, 2020
b74052c
[Async CC] Added task and executor args.
nate-chandler Oct 26, 2020
3a1b9cd
Merge pull request #34349 from sunbohong/patch-1
Oct 26, 2020
62a5fb1
[CodeCompletion] Dedupe completion results if multiple lookups were m…
Oct 23, 2020
6387a7b
[build] Use llvm matching value for CMake policy CMP0077
kastiglione Oct 19, 2020
26c9626
Merge pull request #34365 from zoecarver/cxx/bool-enum
swift-ci Oct 26, 2020
38d759c
Merge pull request #34428 from zoecarver/cxx/empty-template-spec
swift-ci Oct 26, 2020
d7dfa3e
Bring up tests + validation tests for the 'freestanding' build and th…
kubamracek Oct 26, 2020
0991d8d
Merge pull request #34441 from atrick/simplifycfg-condbr
atrick Oct 26, 2020
a37e7b9
Add an Ownership SSA sub-section about forwarding uses.
gottesmm Jul 16, 2020
f24ddb0
Merge pull request #34444 from nate-chandler/concurrency/irgen/add-re…
nate-chandler Oct 27, 2020
96c1e47
Merge pull request #34449 from apple/build-Use-llvm-matching-value-fo…
kastiglione Oct 27, 2020
b5fd2a5
Address review comments; get() must throw, formatting
ktoso Oct 27, 2020
b65d71b
[Async CC] Added conveniences to retrieve argumments.
nate-chandler Oct 27, 2020
a5b9e86
[NFC] Used convenience to retrieve context arg.
nate-chandler Oct 26, 2020
aeefc1c
Merge pull request #34452 from gottesmm/pr-f34d2cbf39d3441da59079c01e…
gottesmm Oct 27, 2020
d6227dc
Merge pull request #34453 from nate-chandler/concurrency/irgen/argume…
swift-ci Oct 27, 2020
4ce7a2d
CodeCompletion: Annotate archetypes, generic parameters and dependent…
AnthonyLatsis Oct 23, 2020
4b005c4
Fix typos in comments
memecoinbeliever Oct 27, 2020
81c7548
Merge pull request #34443 from aschwaighofer/sil_combiner_fix
aschwaighofer Oct 27, 2020
c10064a
Merge pull request #34407 from rmaz/testconfig
gmittert Oct 27, 2020
08612ff
Merge pull request #34406 from AnthonyLatsis/ide-misc
AnthonyLatsis Oct 27, 2020
b6e07a9
Merge pull request #34391 from ktoso/wip-concurrency-tasks
DougGregor Oct 27, 2020
848d823
[cxx-interop] Cleanup a test now that we can import constructors (#34…
hlopko Oct 27, 2020
a07dda6
Merge pull request #34448 from nathawes/completion-dedupe-ambiguous
Oct 27, 2020
51c1fa9
SILGen: Fix assertion failure when emitting foreign-to-native thunk f…
slavapestov Oct 27, 2020
f08df03
[IRGen] Defined TypeInfo for async context.
nate-chandler Oct 27, 2020
a085fdb
[IRGen] Defined TaskContinuationFunction.
nate-chandler Oct 27, 2020
4fd5c93
[IRGen] Defined TI for TaskContinuationFunction.
nate-chandler Oct 27, 2020
0adfc0b
[IRGen] Defined TypeInfo for SwiftExecutor.
nate-chandler Oct 27, 2020
5d67c4a
[Async CC] Add parent to async context.
nate-chandler Oct 27, 2020
f29f439
[Async CC] Add ResumeParent to async context.
nate-chandler Oct 27, 2020
1e0d6f3
[Async CC] Add ResumeParentExecutor to context.
nate-chandler Oct 27, 2020
904876e
[Async CC] Pass the function's task to task_[de]alloc.
nate-chandler Oct 27, 2020
c9e567b
[Async CC] Save parent context into child context.
nate-chandler Oct 27, 2020
290923c
[docs] Add links to 'The Swift runtime' posts + podcast episode. (#34…
varungandhi-apple Oct 27, 2020
f73eff7
[Async CC] Save parent executor into context.
nate-chandler Oct 27, 2020
ddb739e
[Async CC] Pass task along from caller to callee.
nate-chandler Oct 27, 2020
2ff6ea3
[Async CC] Pass executor along to callee.
nate-chandler Oct 27, 2020
e497253
Merge branch 'tensorflow' of github.com:apple/swift into tensorflow-s…
ainu-bot Oct 27, 2020
9384813
[Diagnostics] Split "only concrete types conform to protocols" into a…
xedin Oct 27, 2020
f24e5db
[Diangostics] NFC: Adjust test-cases to expect that "type cannot conf…
xedin Oct 27, 2020
9269c5c
Merge pull request #34414 from maustinstar/sr-10011
rintaro Oct 27, 2020
811fc06
Merge pull request #34467 from xedin/protocol-conformance-error-as-note
xedin Oct 28, 2020
2bcc74c
Merge pull request #34454 from nate-chandler/concurrency/irgen/thread…
nate-chandler Oct 28, 2020
5910d82
Merge pull request #34456 from slavapestov/foreign-to-native-inout-self
slavapestov Oct 28, 2020
810131c
Merge upstream/main into tensorflow-stage (using imerge)
Oct 28, 2020
d5414ff
Merge branch 'main' of github.com:apple/swift into tensorflow-stage
ainu-bot Oct 28, 2020
e8e613b
RCIdentity: fix another case of not-RC-identity-preserving casts.
eeckstein Oct 21, 2020
9776e88
Merge pull request #34461 from upbooo/fix/typo
xedin Oct 28, 2020
8a779b1
Merge branch 'main' of github.com:apple/swift into tensorflow-stage
ainu-bot Oct 28, 2020
77363fe
Merge pull request #34383 from eeckstein/fix_bridging_casts
swift-ci Oct 28, 2020
f43deb9
Merge branch 'main' of github.com:apple/swift into tensorflow-stage
ainu-bot Oct 28, 2020
64e5f76
Add a failing test for SR-13785 (#34462)
scentini Oct 28, 2020
520b6e8
Merge branch 'main' of github.com:apple/swift into tensorflow-stage
ainu-bot Oct 28, 2020
6da0133
update-checkout-config.json: adjust for tensorflow merge
texasmichelle Oct 28, 2020
f8a8d08
Set SWIFTCI_USE_LOCAL_DEPS=1
texasmichelle Oct 29, 2020
1e86c04
Re-add #30710
texasmichelle Nov 3, 2020
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
  •  
  •  
  •  
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,20 @@ CHANGELOG
Swift Next
----------

* [SR-10069][]:

Function overloading now works in local contexts, making the following valid:

```swift
func outer(x: Int, y: String) {
func doIt(_: Int) {}
func doIt(_: String) {}

doIt(x) // calls the first 'doIt(_:)' with an Int value
doIt(y) // calls the second 'doIt(_:)' with a String value
}
```

* [SE-0284][]:

Functions, subscripts, and initializers may now have more than one variadic parameter, as long as all parameters which follow variadic parameters are labeled. This makes declarations like the following valid:
Expand Down Expand Up @@ -8196,6 +8210,7 @@ Swift 1.0
[SR-8974]: <https://bugs.swift.org/browse/SR-8974>
[SR-9043]: <https://bugs.swift.org/browse/SR-9043>
[SR-9827]: <https://bugs.swift.org/browse/SR-9827>
[SR-10069]: <https://bugs.swift.org/browse/SR-10069>
[SR-11298]: <https://bugs.swift.org/browse/SR-11298>
[SR-11429]: <https://bugs.swift.org/browse/SR-11429>
[SR-11700]: <https://bugs.swift.org/browse/SR-11700>
Expand Down
5 changes: 5 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,11 @@ if(POLICY CMP0076)
cmake_policy(SET CMP0076 NEW)
endif()

# Don't clobber existing variable values when evaluating `option()` declarations.
if(POLICY CMP0077)
cmake_policy(SET CMP0077 NEW)
endif()

# Add path for custom CMake modules.
list(APPEND CMAKE_MODULE_PATH
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
Expand Down
4 changes: 2 additions & 2 deletions apinotes/os.apinotes
Original file line number Diff line number Diff line change
Expand Up @@ -63,5 +63,5 @@ Functions:
SwiftPrivate: true
NullabilityOfRet: O
- Name: _os_signpost_emit_with_name_impl
Availability: nonswift
AvailabilityMsg: 'Use os_signpost'
SwiftPrivate: true
NullabilityOfRet: O
18 changes: 17 additions & 1 deletion cmake/modules/AddSwift.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,16 @@ function(_add_host_variant_c_compile_flags target)
target_compile_options(${target} PRIVATE -march=core2)
endif()
endif()

# The LLVM backend is built with these defines on most 32-bit platforms,
# llvm/llvm-project@66395c9, which can cause incompatibilities with the Swift
# frontend if not built the same way.
if("${SWIFT_HOST_VARIANT_ARCH}" MATCHES "armv6|armv7|i686" AND
NOT (SWIFT_HOST_VARIANT_SDK STREQUAL ANDROID AND SWIFT_ANDROID_API_LEVEL LESS 24))
target_compile_definitions(${target} PRIVATE
_LARGEFILE_SOURCE
_FILE_OFFSET_BITS=64)
endif()
endfunction()

function(_add_host_variant_link_flags target)
Expand Down Expand Up @@ -461,7 +471,7 @@ function(add_swift_host_library name)
INSTALL_NAME_DIR "@rpath")
elseif(SWIFT_HOST_VARIANT_SDK STREQUAL LINUX)
set_target_properties(${name} PROPERTIES
INSTALL_RPATH "$ORIGIN:/usr/lib/swift/linux")
INSTALL_RPATH "$ORIGIN")
elseif(SWIFT_HOST_VARIANT_SDK STREQUAL CYGWIN)
set_target_properties(${name} PROPERTIES
INSTALL_RPATH "$ORIGIN:/usr/lib/swift/cygwin")
Expand Down Expand Up @@ -630,3 +640,9 @@ macro(add_swift_tool_symlink name dest component)
add_llvm_tool_symlink(${name} ${dest} ALWAYS_GENERATE)
llvm_install_symlink(${name} ${dest} ALWAYS_GENERATE COMPONENT ${component})
endmacro()

# Declare that files in this library are built with LLVM's support
# libraries available.
macro(set_swift_llvm_is_available)
add_compile_options(-DSWIFT_LLVM_SUPPORT_IS_AVAILABLE)
endmacro()
5 changes: 5 additions & 0 deletions cmake/modules/AddSwiftUnittests.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,13 @@ function(add_swift_unittest test_dirname)
endif()

if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
# Add an @rpath to the swift library directory.
set_target_properties(${test_dirname} PROPERTIES
BUILD_RPATH ${SWIFT_LIBRARY_OUTPUT_INTDIR}/swift/macosx)
# Force all the swift libraries to be found via rpath.
add_custom_command(TARGET "${test_dirname}" POST_BUILD
COMMAND "${SWIFT_SOURCE_DIR}/utils/swift-rpathize.py"
"$<TARGET_FILE:${test_dirname}>")
elseif("${SWIFT_HOST_VARIANT}" STREQUAL "android")
swift_android_lib_for_arch(${SWIFT_HOST_VARIANT_ARCH} android_system_libs)
set_property(TARGET "${test_dirname}" APPEND PROPERTY LINK_DIRECTORIES
Expand Down
10 changes: 9 additions & 1 deletion cmake/modules/StandaloneOverlay.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,17 @@ set(SWIFT_NATIVE_CLANG_TOOLS_PATH "${TOOLCHAIN_DIR}/usr/bin" CACHE STRING
set(SWIFT_NATIVE_SWIFT_TOOLS_PATH "${TOOLCHAIN_DIR}/usr/bin" CACHE STRING
"Path to Swift tools that are executable on the build machine.")

# NOTE: The initialization in stdlib/CMakeLists.txt will be bypassed if we
# directly invoke CMake for this directory, so we initialize the variables
# related to library evolution here as well.

option(SWIFT_STDLIB_STABLE_ABI
"Should stdlib be built with stable ABI (library evolution, resilience)."
TRUE)

option(SWIFT_ENABLE_MODULE_INTERFACES
"Generate .swiftinterface files alongside .swiftmodule files."
TRUE)
"${SWIFT_STDLIB_STABLE_ABI}")

set(SWIFT_STDLIB_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING
"Build type for the Swift standard library and SDK overlays.")
Expand Down
14 changes: 12 additions & 2 deletions docs/ABI/Mangling.rst
Original file line number Diff line number Diff line change
Expand Up @@ -523,15 +523,20 @@ Types
FUNCTION-KIND ::= 'U' // uncurried function type (currently not used)
FUNCTION-KIND ::= 'K' // @auto_closure function type (noescape)
FUNCTION-KIND ::= 'B' // objc block function type
FUNCTION-KIND ::= 'L' // objc block function type (escaping) (DWARF only; otherwise use 'B')
FUNCTION-KIND ::= 'zB' C-TYPE // objc block type with non-canonical C type
FUNCTION-KIND ::= 'L' // objc block function type with canonical C type (escaping) (DWARF only; otherwise use 'B' or 'zB' C-TYPE)
FUNCTION-KIND ::= 'C' // C function pointer type
FUNCTION-KIND ::= 'zC' C-TYPE // C function pointer type with with non-canonical C type
FUNCTION-KIND ::= 'A' // @auto_closure function type (escaping)
FUNCTION-KIND ::= 'E' // function type (noescape)
FUNCTION-KIND ::= 'F' // @differentiable function type
FUNCTION-KIND ::= 'G' // @differentiable function type (escaping)
FUNCTION-KIND ::= 'H' // @differentiable(linear) function type
FUNCTION-KIND ::= 'I' // @differentiable(linear) function type (escaping)

C-TYPE is mangled according to the Itanium ABI, and prefixed with the length.
Non-ASCII identifiers are preserved as-is; we do not use Punycode.

function-signature ::= params-type params-type async? throws? // results and parameters

params-type ::= type 'z'? 'h'? // tuple in case of multiple parameters or a single parameter with a single tuple type
Expand Down Expand Up @@ -600,7 +605,7 @@ mangled in to disambiguate.
impl-function-type ::= type* 'I' FUNC-ATTRIBUTES '_'
impl-function-type ::= type* generic-signature 'I' FUNC-ATTRIBUTES '_'

FUNC-ATTRIBUTES ::= PATTERN-SUBS? INVOCATION-SUBS? PSEUDO-GENERIC? CALLEE-ESCAPE? DIFFERENTIABILITY-KIND? CALLEE-CONVENTION FUNC-REPRESENTATION? COROUTINE-KIND? (PARAM-CONVENTION PARAM-DIFFERENTIABILITY?)* RESULT-CONVENTION* ('Y' PARAM-CONVENTION)* ('z' RESULT-CONVENTION RESULT-DIFFERENTIABILITY?)?
FUNC-ATTRIBUTES ::= PATTERN-SUBS? INVOCATION-SUBS? PSEUDO-GENERIC? CALLEE-ESCAPE? DIFFERENTIABILITY-KIND? CALLEE-CONVENTION FUNC-REPRESENTATION? COROUTINE-KIND? ASYNC? (PARAM-CONVENTION PARAM-DIFFERENTIABILITY?)* RESULT-CONVENTION* ('Y' PARAM-CONVENTION)* ('z' RESULT-CONVENTION RESULT-DIFFERENTIABILITY?)?

PATTERN-SUBS ::= 's' // has pattern substitutions
INVOCATION-SUB ::= 'I' // has invocation substitutions
Expand All @@ -618,7 +623,9 @@ mangled in to disambiguate.
CALLEE-CONVENTION ::= 't' // thin

FUNC-REPRESENTATION ::= 'B' // C block invocation function
FUNC-REPRESENTATION ::= 'zB' C-TYPE // C block invocation function with non-canonical C type
FUNC-REPRESENTATION ::= 'C' // C global function
FUNC-REPRESENTATION ::= 'zC' C-TYPE // C global function with non-canonical C type
FUNC-REPRESENTATION ::= 'M' // Swift method
FUNC-REPRESENTATION ::= 'J' // ObjC method
FUNC-REPRESENTATION ::= 'K' // closure
Expand All @@ -627,6 +634,8 @@ mangled in to disambiguate.
COROUTINE-KIND ::= 'A' // yield-once coroutine
COROUTINE-KIND ::= 'G' // yield-many coroutine

ASYNC ::= 'H' // @async

PARAM-CONVENTION ::= 'i' // indirect in
PARAM-CONVENTION ::= 'c' // indirect in constant
PARAM-CONVENTION ::= 'l' // indirect inout
Expand Down Expand Up @@ -993,6 +1002,7 @@ Function Specializations
::

specialization ::= type '_' type* 'Tg' SPEC-INFO // Generic re-abstracted specialization
specialization ::= type '_' type* 'Ts' SPEC-INFO // Generic re-abstracted prespecialization
specialization ::= type '_' type* 'TG' SPEC-INFO // Generic not re-abstracted specialization
specialization ::= type '_' type* 'Ti' SPEC-INFO // Inlined function with generic substitutions.

Expand Down
4 changes: 2 additions & 2 deletions docs/CompilerPerformance.md
Original file line number Diff line number Diff line change
Expand Up @@ -815,8 +815,8 @@ are helpful in such cases:

- `llvm-bcanalyzer` can print (in rough form) the contents of LLVM bitcode
streams, such as Swift module files and the PCH/PCM files clang stores its
serialized ASTs in. The latter requires combing `llvm-objdump` and
`llvm-bcanalyzer` in the following fashion: `llvm-objdump -raw-clang-ast
serialized ASTs in. The latter requires combining `llvm-objdump` and
`llvm-bcanalyzer` in the following fashion: `llvm-objdump --raw-clang-ast
file.pcm | llvm-bcanalyzer -dump`

- `llvm-dwarfdump` and `llvm-dis` can be used to print textual representations
Expand Down
6 changes: 3 additions & 3 deletions docs/CppInteroperabilityManifesto.md
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,7 @@ provide the following guarantees:

- `inout` are backed by initialized memory on function entry and function exit
(an implication of the copy-in/copy-out semantics). Destroying the object in
`inout` requires using unsafe construts. Therefore, in safe Swift `inout`
`inout` requires using unsafe constructs. Therefore, in safe Swift `inout`
parameters are backed by initialized memory throughout function execution.

- `inout` parameters don't alias each other or any other values that program is
Expand Down Expand Up @@ -1033,7 +1033,7 @@ in all Swift code, but it is feasible for local variables of concrete types.
An example where it is not possible to maintain precise destruction semantics
for C++ classes is in a generic Swift function that is called with a C++ class
as a type parameter. In this case, we must be able to compile one definition of
a Swift function, which must work regradless of the nature of the type (be it a
a Swift function, which must work regardless of the nature of the type (be it a
Swift type or a C++ class). This limitation does not seem too bad, because RAII
types are not often passed as type parameters to templates in C++, which creates
a reason to believe it will not be common in Swift either.
Expand Down Expand Up @@ -3197,7 +3197,7 @@ UTF-8 data.
class Employee {
public:
std::string DebugDescription() const;
[[swift::import_as_std_string]] std::string SeriaziledAsProtobuf() const;
[[swift::import_as_std_string]] std::string SerializedAsProtobuf() const;
};
```

Expand Down
16 changes: 16 additions & 0 deletions docs/DebuggingTheCompiler.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ benefit of all Swift developers.
- [Debugging the Compiler using advanced LLDB Breakpoints](#debugging-the-compiler-using-advanced-lldb-breakpoints)
- [Debugging the Compiler using LLDB Scripts](#debugging-the-compiler-using-lldb-scripts)
- [Custom LLDB Commands](#custom-lldb-commands)
- [Debugging at LLVM Level](#debugging-at-llvm-level)
- [Options for Dumping LLVM IR](#options-for-dumping-llvm-ir)
- [Bisecting Compiler Errors](#bisecting-compiler-errors)
- [Bisecting on SIL optimizer pass counts to identify optimizer bugs](#bisecting-on-sil-optimizer-pass-counts-to-identify-optimizer-bugs)
- [Using git-bisect in the presence of branch forwarding/feature branches](#using-git-bisect-in-the-presence-of-branch-forwardingfeature-branches)
Expand Down Expand Up @@ -537,6 +539,20 @@ to define custom commands using just other lldb commands. For example,

(lldb) command alias cs sequence p/x $rax; stepi

## Debugging at LLVM Level

### Options for Dumping LLVM IR

Similar to SIL, one can configure LLVM to dump the llvm-ir at various points in
the pipeline. Here is a quick summary of the various options:

* ``-Xllvm -print-before=$PASS_ID``: Print the LLVM IR before a specified LLVM pass runs.
* ``-Xllvm -print-before-all``: Print the LLVM IR before each pass runs.
* ``-Xllvm -print-after-all``: Print the LLVM IR after each pass runs.
* ``-Xllvm -filter-print-funcs=$FUNC_NAME_1,$FUNC_NAME_2,...,$FUNC_NAME_N``:
When printing IR for functions for print-[before|after]-all options, Only
print the IR for functions whose name is in this comma separated list.

## Bisecting Compiler Errors

### Bisecting on SIL optimizer pass counts to identify optimizer bugs
Expand Down
4 changes: 3 additions & 1 deletion docs/DevelopmentTips.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,11 @@ Compilation times for the compiler and the standard library can be agonizing, es
```
$ brew install sccache
$ sccache --start-server
$ ./swift/utils/build-script MY_ARGS --cmake-c-launcher $(which sccache) --cmake-cxx-launcher $(which sccache)
$ ./swift/utils/build-script MY_ARGS --sccache
```

If you want to always use sccache, you can `export SWIFT_USE_SCCACHE=1` and the build script will pick it up.

Given the size of artifacts generated, you might also want to bump the cache size from the default 10GB to something larger, say by putting `export SCCACHE_CACHE_SIZE="50G"` in your dotfile(s).

You can run some compiles to see if it is actually doing something by running `sccache --show-stats`. Depending on the exact compilation task you're running, you might see very different cache hit rates. For example, `sccache` is particularly effective if you're rebuilding LLVM, which doesn't change so frequently from the Swift compiler's perspective. On the other hand, if you're changing the compiler's AST, the cache hit rate is likely to be much lower.
Expand Down
2 changes: 1 addition & 1 deletion docs/Diagnostics.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ Educational notes should:
- Explain a single language concept. This makes them easy to reuse across related diagnostics and helps keep them clear, concise, and easy to understand.
- Be written in unabbreviated English. These are longer-form messages compared to the main diagnostic, so there's no need to omit needless words and punctuation.
- Not generally exceed 3-4 paragraphs. Educational notes should be clear and easily digestible. Messages which are too long also have the potential to create UX issues on the command line.
- Be accessible. Educational notes should be beginner friendly and avoid assuming unnecesary prior knowledge. The goal is not only to help users understand what a diagnostic is telling them, but also to turn errors and warnings into "teachable moments".
- Be accessible. Educational notes should be beginner friendly and avoid assuming unnecessary prior knowledge. The goal is not only to help users understand what a diagnostic is telling them, but also to turn errors and warnings into "teachable moments".
- Include references to relevant chapters of _The Swift Programming Language_.
- Be written in Markdown, but avoid excessive markup which negatively impacts the terminal UX.

Expand Down
2 changes: 1 addition & 1 deletion docs/DifferentiableProgramming.md
Original file line number Diff line number Diff line change
Expand Up @@ -2542,7 +2542,7 @@ As defined above, the `@differentiable` function type attributes requires all
non-`@noDerivative` arguments and results to conform to the `@differentiable`
attribute. However, there is one exception: when the type of an argument or
result is a function type, e.g. `@differentiable (T) -> @differentiable (U) ->
V`. This is because we need to differentiate higher-order funtions.
V`. This is because we need to differentiate higher-order functions.

Mathematically, the differentiability of `@differentiable (T, U) -> V` is
similar to that of `@differentiable (T) -> @differentiable (U) -> V` in that
Expand Down
2 changes: 1 addition & 1 deletion docs/Driver.md
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ in becoming more like non-whole-module builds.

## Incremental Builds ##

Incremental builds in Swift work by primarily by cross-file dependency
Incremental builds in Swift work primarily by cross-file dependency
analysis, described in [DependencyAnalysis.md](DependencyAnalysis.md).
Compiling a single file might be necessary because that file has changed, but
it could also be because that file depends on something else that might have
Expand Down
32 changes: 26 additions & 6 deletions docs/ExternalResources.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,11 +135,24 @@ https://medium.com/kinandcartacreated/contributing-to-swift-part-2-efebcf7b6c93

## Code generation, runtime and ABI

- The Swift Runtime ([Part 1: Heap Objects][], [Part 2: Type Layout][])
by Jordan Rose (blog post series, Aug-Sep 2020): This blog post series
describes the runtime layout for classes, closures and structs, as well
as basic runtime functionality such as retain/release that needs to be
handled when porting Swift to a new platform, such as [Mac OS 9][].
- [The Swift Runtime][] by Jordan Rose (blog post series, Aug-Oct 2020):
This blog post series describes the runtime layout for different structures,
runtime handling for metadata, as well as basic runtime functionality such
as retain/release that needs to be handled when porting Swift to a new
platform, such as [Mac OS 9][].
- [Part 1: Heap Objects][]
- [Part 2: Type Layout][]
- [Part 3: Type Metadata][]
- [Part 4: Uniquing Caches][]
- [Part 5: Class Metadata][]
- [Part 6: Class Metadata Initialization][]
- [Part 7: Enums][]
- [Implementing the Swift Runtime in Swift][]
by JP Simard and Jesse Squires with Jordan Rose (podcast episode, Oct 2020):
This episode describes Jordan's effort to port Swift to Mac OS 9.
It touches on a wide variety of topics, such as ObjC interop, memory layout
guarantees, performance, library evolution, writing low-level code in Swift,
the workflow of porting Swift to a new platform and the design of Swift.
- [How Swift Achieved Dynamic Linking Where Rust Couldn't][] by Alexis
Beingessner (blog post, Nov 2019): This blog post describes Swift's approach
for compiling polymorphic functions, contrasting it with the strategy used by
Expand Down Expand Up @@ -174,9 +187,16 @@ https://medium.com/kinandcartacreated/contributing-to-swift-part-2-efebcf7b6c93
value witness tables, type metadata, abstraction patterns, reabstraction,
reabstraction thunks and protocol witness tables.

[Mac OS 9]: https://belkadan.com/blog/2020/04/Swift-on-Mac-OS-9/
[The Swift Runtime]: https://belkadan.com/blog/tags/swift-runtime/
[Part 1: Heap Objects]: https://belkadan.com/blog/2020/08/Swift-Runtime-Heap-Objects/
[Part 2: Type Layout]: https://belkadan.com/blog/2020/09/Swift-Runtime-Type-Layout/
[Mac OS 9]: https://belkadan.com/blog/2020/04/Swift-on-Mac-OS-9/
[Part 3: Type Metadata]: https://belkadan.com/blog/2020/09/Swift-Runtime-Type-Metadata/
[Part 4: Uniquing Caches]: https://belkadan.com/blog/2020/09/Swift-Runtime-Uniquing-Caches/
[Part 5: Class Metadata]: https://belkadan.com/blog/2020/09/Swift-Runtime-Class-Metadata/
[Part 6: Class Metadata Initialization]: https://belkadan.com/blog/2020/10/Swift-Runtime-Class-Metadata-Initialization/
[Part 7: Enums]: https://belkadan.com/blog/2020/10/Swift-Runtime-Enums/
[Implementing the Swift Runtime in Swift]: https://spec.fm/podcasts/swift-unwrapped/1DMLbJg5
[How Swift Achieved Dynamic Linking Where Rust Couldn't]: https://gankra.github.io/blah/swift-abi/
[arm64e: An ABI for Pointer Authentication]: https://youtu.be/C1nZvpEBfYA
[Exploiting The Swift ABI]: https://youtu.be/0rHG_Pa86oA
Expand Down
2 changes: 1 addition & 1 deletion docs/HowToGuides/FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ built compiler to compile both packages and Xcode projects.
Create a build setting `SWIFT_EXEC` with the value set to `/path/to/swiftc`.
If you now do a clean build, your locally built compiler will be used.

At the time of writing, in the latest Xcode 12 beta, `SWIFT_EXEC` does not
At the time of writing, in the latest Xcode 12.2 beta 3, `SWIFT_EXEC` does not
work for SwiftPM integration inside Xcode, so this will not work for Xcode
projects that depend on SwiftPM packages.

Expand Down
Loading