Skip to content

[pull] swiftwasm-host from master #16

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,870 commits into from
Jun 12, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1870 commits
Select commit Hold shift + click to select a range
8cfaff7
Merge remote-tracking branch 'origin/master' into master-next
swift-ci May 29, 2020
e1edc7c
Merge remote-tracking branch 'origin/master' into master-next
swift-ci May 29, 2020
df94ca4
Merge remote-tracking branch 'origin/master' into master-next
swift-ci May 29, 2020
8b380c3
Merge remote-tracking branch 'origin/master' into master-next
swift-ci May 30, 2020
7e6dc56
Merge remote-tracking branch 'origin/master' into master-next
swift-ci May 30, 2020
3864eca
Merge remote-tracking branch 'origin/master' into master-next
swift-ci May 30, 2020
aa5a325
Merge remote-tracking branch 'origin/master' into master-next
swift-ci May 30, 2020
3410955
Merge remote-tracking branch 'origin/master' into master-next
swift-ci May 30, 2020
0e98ae9
Merge remote-tracking branch 'origin/master' into master-next
swift-ci May 30, 2020
042939e
[ConstraintSystem] Move some property wrappers implementation form he…
LucianoPAlmeida May 30, 2020
a331ba0
[ConstraintSystem] Abstract common logic for various get property wra…
LucianoPAlmeida May 30, 2020
2edc66c
Merge remote-tracking branch 'origin/master' into master-next
swift-ci May 30, 2020
7989ebe
Merge remote-tracking branch 'origin/master' into master-next
swift-ci May 30, 2020
e4e910b
Merge remote-tracking branch 'origin/master' into master-next
swift-ci May 30, 2020
915c4a6
[LTO] Support LLVM level link time optimization
kateinoigakukun Apr 20, 2020
d93bc2a
Merge remote-tracking branch 'origin/master' into master-next
swift-ci May 31, 2020
7533dfe
Merge remote-tracking branch 'origin/master' into master-next
swift-ci May 31, 2020
fbf4297
Merge remote-tracking branch 'origin/master' into master-next
swift-ci May 31, 2020
cc15c0b
[ConstraintSystem] Remove unnecessary check for decl and use getDeclO…
LucianoPAlmeida May 31, 2020
bec7163
Merge remote-tracking branch 'origin/master' into master-next
swift-ci May 31, 2020
c91211c
[ConstraintSystem] Inline static method calls into the closures
LucianoPAlmeida May 31, 2020
24ae642
Merge remote-tracking branch 'origin/master' into master-next
swift-ci May 31, 2020
4e03e37
Merge remote-tracking branch 'origin/master' into master-next
swift-ci Jun 1, 2020
6b044eb
Merge remote-tracking branch 'origin/master' into master-next
swift-ci Jun 1, 2020
6d3cdd0
Merge remote-tracking branch 'origin/master' into master-next
swift-ci Jun 1, 2020
47c0e4c
Merge remote-tracking branch 'origin/master' into master-next
swift-ci Jun 1, 2020
6628eb5
Merge remote-tracking branch 'origin/master' into master-next
swift-ci Jun 1, 2020
251dbb9
[driver] Improve handling of supplementary outputs in createCompilerI…
benlangmuir Jun 1, 2020
9e48354
Merge remote-tracking branch 'origin/master' into master-next
swift-ci Jun 1, 2020
cc76fcf
Merge remote-tracking branch 'origin/master' into master-next
swift-ci Jun 1, 2020
6e368ae
Add new enum value clang::BuiltinType::IncompleteMatrixIdx to switch
martinboehme Jun 2, 2020
51bace6
[IDE][SourceKit/DocSupport] Add members of underscored protocol exten…
May 15, 2020
b857b22
NFC: Rename shouldCollectToken -> shouldCollectTokens
hamishknight Jun 3, 2020
b5ab29b
NFC: Inline canBeParsedInFull
hamishknight Jun 3, 2020
60eae88
Sink some parsing options into SourceFile::ParsingFlags
hamishknight Jun 3, 2020
22c1058
[Parse] Remove some unnecessary code
hamishknight Jun 3, 2020
5fdc5f3
NFC: Clean up TokenRecorder a little
hamishknight Jun 3, 2020
f57299a
Formalize some SourceFile parsing outputs
hamishknight Jun 3, 2020
7b9ccb7
[Parse] Make sure we don't finalize a DelayedTokenReciever
hamishknight Jun 3, 2020
07d37a8
Merge pull request #32136 from martinboehme/compile-fix-incomplete-ma…
JDevlieghere Jun 3, 2020
b1ac68b
[test] Clang is now more strict about underlying type enums
davezarzycki Jun 4, 2020
a722311
[SymbolGraph] Don't print inherited list in declaration fragments
bitjammer Jun 4, 2020
b8abe55
Build dependency list once
ladd Jun 4, 2020
0e7a329
[SymbolGraph] Don't emit extension symbol graphs if empty
bitjammer Jun 4, 2020
ddaa3be
Verify The Entire Compilation Session
CodaFi Jun 5, 2020
14ade93
Fix getActiveDependencySourceOrNull For Private Dependencies
CodaFi Jun 5, 2020
874cc85
Make LookupInModuleRequest a Dependency Sink
CodaFi Jun 5, 2020
0215e37
Add Verifier Tests for A Tricky Typealias Miscompile
CodaFi Jun 5, 2020
a900779
[stdlib][test] Fix message test expectation.
3405691582 Jun 5, 2020
836bc57
[AST Walker] Stop visiting the bodies of closures as expressions.
DougGregor Jun 5, 2020
a71203d
[Sema] Switch to wasTypeCheckedInEnclosingContext() for walks
DougGregor Jun 5, 2020
1d36224
[ClosureExpr] Remove hasAppliedFunctionBuilder.
DougGregor Jun 5, 2020
2f97d24
Note a fixed compiler crasher
DougGregor Jun 5, 2020
7eae5f2
[AST] Remove now-unused ClosureExpr::setSingleExpressionBody().
DougGregor Jun 5, 2020
a115ad9
[AST] Record "separately checked" in ClosureExpr.
DougGregor Jun 5, 2020
2704009
runtime: fix SwapByteOrder.h when building for WASI
MaxDesiatov Jun 5, 2020
8349018
Merge pull request #32180 from davezarzycki/pr32180
davezarzycki Jun 5, 2020
b68d827
[NFC] AST: const-qualify ASTContext refs in PrettyStackTrace.h
AnthonyLatsis Jun 3, 2020
8d0014d
Clarify a comment
DougGregor Jun 5, 2020
b996a21
Merge pull request #32196 from ladd/levantol/perf-patch-d-files
CodaFi Jun 5, 2020
e3ce94d
Introduce a `PruneVTables` pass to mark non-overridden entries.
jckarter Jun 5, 2020
d0131ba
Merge pull request #31146 from kateinoigakukun/katei/enable-lang-agno…
compnerd Jun 5, 2020
975ff75
Perform The Dependency Unioning Step During Replay
CodaFi Jun 5, 2020
91be29a
Merge pull request #32201 from MaxDesiatov/patch-5
CodaFi Jun 5, 2020
5083f83
Merge pull request #32193 from bitjammer/acgarland/rdar-63058801-dont…
bitjammer Jun 5, 2020
fb99cfc
Merge pull request #32189 from bitjammer/acgarland/rdar-63033669-sgf-…
bitjammer Jun 5, 2020
0e892a9
Merge pull request #32199 from 3405691582/Port_OpenBSD_Environ
compnerd Jun 5, 2020
dd7a7f7
[SymbolGraph] Print non-underscored attributes in declarations
bitjammer Jun 1, 2020
fadfb6c
Merge pull request #31874 from benlangmuir/driver-tmp-sad
benlangmuir Jun 5, 2020
a423937
[Constraint solver] Wire up "parents" of closure return statements.
DougGregor Jun 5, 2020
b844035
Fix a typo in a comment
DougGregor Jun 5, 2020
31cf1f2
Merge pull request #32198 from CodaFi/depen-dots
CodaFi Jun 5, 2020
3ec250f
[CodeCompletion] Wrap base expression with CodeCompletionExpr
rintaro Jun 4, 2020
754f21d
Merge pull request #32205 from AnthonyLatsis/pretty-const-stacktrace
CodaFi Jun 5, 2020
d3b6b89
[AutoDiff] Support multiple differentiability result indices in SIL. …
dan-zheng Jun 5, 2020
bcae501
[AutoDiff] NFC: garden test. (#32209)
dan-zheng Jun 5, 2020
c647c11
[SymbolGraph] Don't consider @show_in_interface for underscored names
bitjammer Jun 5, 2020
aef3464
Merge pull request #32187 from bitjammer/acgarland/rdar-63338507-show…
bitjammer Jun 6, 2020
be4e23f
New note for users that have wrongly assumed that generic param confo…
gregomni Jun 5, 2020
142aa42
[semantic-arc-opts] Teach semantic-arc-opts how to handle tuples with…
gottesmm Jun 4, 2020
104c8f3
[build-script] Make is_build_script_impl_product() a pure method and …
gottesmm Jun 6, 2020
7d4da10
Merge pull request #32200 from DougGregor/single-expression-closure-c…
DougGregor Jun 6, 2020
64f903f
[Type checker] Experimental support for one-way parameter constraints.
DougGregor Jun 5, 2020
b149341
[Constraint system] Generalize recording of pattern binding entry tar…
DougGregor Jun 6, 2020
f1febc2
[Constraint system] Lift PatternBindingDecl into SolutionApplicationT…
DougGregor Jun 6, 2020
164ebbf
Merge pull request #32218 from gottesmm/pr-f9101d605011e95162876376e8…
gottesmm Jun 6, 2020
37fefa7
[build-script] Explicitly separate build-script-impl products and non…
gottesmm Jun 6, 2020
1e1b350
[build-script] Add dependencies for all build-script products as a fi…
gottesmm Jun 6, 2020
7525b63
Unbreak after clang added BFloat16 builtin
davezarzycki Jun 6, 2020
369acdb
Merge pull request #32227 from davezarzycki/pr32227
davezarzycki Jun 6, 2020
77d4134
Merge pull request #32221 from DougGregor/stmt-typecheck-cleanups
DougGregor Jun 6, 2020
de7033c
Simplest fix to a dependency bug.
Jun 6, 2020
da14e31
Fix tests to correspond
Jun 6, 2020
62b2570
Merge pull request #32215 from DougGregor/one-way-closure-params
DougGregor Jun 6, 2020
3e280b8
Merge pull request #32107 from LucianoPAlmeida/nfc-move-to-cpp
LucianoPAlmeida Jun 6, 2020
dc1624d
build: style updates (NFC)
compnerd May 30, 2020
932a91e
Merge pull request #32219 from davidungar/quick-dependency-bug-fix
Jun 6, 2020
bd85096
Track upstream changes
davezarzycki Jun 7, 2020
77cbdee
Merge pull request #32232 from davezarzycki/pr32232
davezarzycki Jun 7, 2020
99e72b6
[TypeCheckConstraints] Check for archetypes when warning about unrela…
LucianoPAlmeida Jun 7, 2020
eb0b2bb
[tests] Adding regression tests for SR-12946
LucianoPAlmeida Jun 7, 2020
cc84c7b
Merge pull request #32229 from compnerd/style
compnerd Jun 7, 2020
71309a8
Revert "[LTO] Support LLVM level link time optimization on Darwin, Li…
compnerd Jun 7, 2020
4fe0c69
Merge pull request #32235 from apple/revert-31146-katei/enable-lang-a…
compnerd Jun 7, 2020
59d2d95
Merge pull request #32234 from LucianoPAlmeida/SR-12946-cast-warning-…
swift-ci Jun 8, 2020
9398153
[Parse] Preserve original member hashing behaviour
hamishknight Jun 8, 2020
db9a27e
[AST] Remove hasSyntaxRoot
hamishknight Jun 8, 2020
c045802
Merge pull request #32225 from gottesmm/pr-717ba0adb0340ba5a05ecc2256…
gottesmm Jun 8, 2020
bded632
Merge pull request #32224 from gottesmm/pr-62982e80e54331e66895fc94aa…
gottesmm Jun 8, 2020
504ce0a
[AutoDiff] Handle `array.finalize_intrinsic`.
dan-zheng May 28, 2020
f96f936
SIL: define begin_cow_mutation to have side effects.
eeckstein Jun 4, 2020
1559fe3
SIL: a new library intrinsic to "finalize" array literals
eeckstein May 25, 2020
3bfebf1
runtime lib: a mechanism to set an "immutable" flag on an object for …
eeckstein Jun 8, 2020
71a642e
stdlib, SIL optimizer: use the SIL copy-on-write representation in th…
eeckstein May 26, 2020
8f0569d
Merge pull request #32210 from jckarter/prune-vtables-pass
jckarter Jun 8, 2020
f822296
[SymbolGraph] Use fully qualified name for type's page titles
bitjammer Jun 8, 2020
5ce5466
[metadata prespecialization] NFC: Replaced bool with enum.
nate-chandler Jun 8, 2020
81483cc
Merge pull request #32161 from hamishknight/pipeline-parse
hamishknight Jun 8, 2020
f071136
stdlib: temporarily disable COW support runtime checks.
eeckstein Jun 8, 2020
11ef9bd
Merge pull request #32217 from bitjammer/acgarland/rdar-63120829-show…
bitjammer Jun 8, 2020
5d72c46
[Frontend] Remove parsing option params from performParseOnly
hamishknight Jun 8, 2020
00dd637
[Frontend] Factor out getSourceFileParsingOptions
hamishknight Jun 8, 2020
ff170df
[Frontend] Populate files in getMainModule
hamishknight Jun 8, 2020
7824dc1
[Frontend] Move parse-only module load assert
hamishknight Jun 8, 2020
1ed8106
[Frontend] Remove performParseOnly
hamishknight Jun 8, 2020
55cf78b
[Frontend] Inline performSemaUpTo
hamishknight Jun 8, 2020
580bf4d
[SymbolGraph] Don't add precise identifier to `Self` fragment
bitjammer Jun 8, 2020
8effe49
[build-script] Add a really simple build scheduler that assumes/enfor…
gottesmm Jun 6, 2020
0257c7e
Merge pull request #32241 from bitjammer/acgarland/rdar-64047985-full…
bitjammer Jun 8, 2020
6b80da6
Merge pull request #32179 from gottesmm/pr-1be69dcd1c3376a6b0ecdd3afe…
gottesmm Jun 8, 2020
363bd5d
[build-script] Fix import of dependencies of each product.
gottesmm Jun 8, 2020
9a5f2dc
[Function builders] Infer function builder through @_dynamicReplaceme…
DougGregor Jun 8, 2020
d80a405
[Runtime] Clean up verifyMangledNameRoundtrip comment.
mikeash Jun 8, 2020
059fe23
Merge pull request #31856 from AnthonyLatsis/o-getcontextsubs
AnthonyLatsis Jun 8, 2020
452b6dd
[build-script-impl] Require --install-llvm to be passed in to install…
gottesmm Jun 8, 2020
88589e1
[Function builders] Improve test case for inference behavior
DougGregor Jun 8, 2020
d43c515
[Property wrappers] Reject opaque result types when there is no initi…
DougGregor Jun 8, 2020
8ec75d4
[metadata prespecialization] Support classes with non-generic ancestors.
nate-chandler May 28, 2020
b53334e
Merge pull request #32243 from hamishknight/whole-module-population
hamishknight Jun 8, 2020
714e955
Merge pull request #32242 from nate-chandler/generic-metadata-prespec…
nate-chandler Jun 8, 2020
29d3cc4
Merge pull request #32246 from bitjammer/acgarland/rdar-63941806-dont…
bitjammer Jun 8, 2020
a934cce
Merge pull request #32226 from gottesmm/pr-12d3f8c7e3ae40ee63271019b1…
gottesmm Jun 8, 2020
3eb82c1
Fixes typo in comment in KeyPaths.cpp (#32240)
valeriyvan Jun 8, 2020
017d99d
test: add a test to prevent weak symbol leakage
compnerd May 21, 2020
3e7b4ae
[Property wrappers] Fix another opaque-result-types crasher.
DougGregor Jun 8, 2020
8215ea1
Emit coverage mappings for all modules
keith Jun 6, 2020
1c9b090
Merge remote-tracking branch 'origin/master-next'
lorentey Jun 8, 2020
68351d2
Revert "Merge remote-tracking branch 'origin/master-next'"
lorentey Jun 8, 2020
28f60a0
Merge pull request #32247 from gottesmm/pr-bd788ac2872223df1190069035…
gottesmm Jun 9, 2020
e9622ed
test: mark test as executable_test
compnerd Jun 9, 2020
3531852
Merge pull request #32250 from gottesmm/pr-962a7fcfad9a0049512c51e6da…
gottesmm Jun 9, 2020
e14cc4c
Merge pull request #32248 from DougGregor/infer-function-builder-dyna…
swift-ci Jun 9, 2020
39d0827
Fix typo in 'KeyedEncodingContainer.superEncoder' documentation. (#32…
rxwei Jun 9, 2020
450b005
[build-script] Add support for specifying that a product is a non-dar…
gottesmm Jun 8, 2020
00146f8
[build-script] Define default llvm_install_components.
gottesmm Jun 8, 2020
886ae19
Merge pull request #32251 from DougGregor/property-wrapper-opaque-res…
DougGregor Jun 9, 2020
49288f7
[build-script] Remove a bunch of conservative dependencies on lldb.
gottesmm Jun 9, 2020
51fce88
Merge pull request #32253 from compnerd/executable
compnerd Jun 9, 2020
bd6abc9
Merge pull request #32255 from gottesmm/pr-2609ae44ac52a6348d4c38cff3…
gottesmm Jun 9, 2020
13f6885
Merge pull request #32257 from gottesmm/pr-dd4cc86c522d759700beda988e…
gottesmm Jun 9, 2020
291373f
Merge pull request #32134 from eeckstein/cow-support2
eeckstein Jun 9, 2020
d45047d
Merge pull request #32260 from gottesmm/pr-89123c4fe2e41b356d82591f3e…
gottesmm Jun 9, 2020
4b46341
Sema: Remove TypeLoc from ExplicitCast
AnthonyLatsis Jun 7, 2020
1888534
Merge pull request #30895 from valeriyvan/RemoveRedundantZeroingString
xwu Jun 9, 2020
7b3a340
Merge pull request #32249 from mikeash/mangled-name-roundtrip-comment…
mikeash Jun 9, 2020
6c46118
[SIL] NFC: "Stop being a sop"
davezarzycki Jun 9, 2020
c73b144
Perform the unintended generic detection in simplifyMemberConstraint …
gregomni Jun 9, 2020
825a2a2
Mark non-foreign entry points of `@objc dynamic` methods in generic c…
aschwaighofer Jun 3, 2020
7c5a5e5
Merge pull request #32174 from nate-chandler/generic-metadata-prespec…
nate-chandler Jun 9, 2020
42cc989
DependenciesScanner: teach the scanner to handle cross-import overlays
nkcsgexi Jun 8, 2020
38d8b13
[CodeCompletion] Add keypath apply subscript after open bracket
rintaro May 21, 2020
a313f62
[build-script] Add option --infer to infer dependencies.
gottesmm Jun 8, 2020
d975478
[NFC] Clarify comment on metatype casts on TypeCheckConstraints
LucianoPAlmeida Jun 9, 2020
eeb7b3d
Merge pull request #31955 from compnerd/weak-link
compnerd Jun 9, 2020
acb16cf
[AutoDiff] Dedupe array semantic call utilities. (#32266)
dan-zheng Jun 9, 2020
fdf31c8
Add Flags to Enable or Disable EnableExperientalPrivateIntransitiveDe…
CodaFi Jun 9, 2020
ec059f3
Enable ExperientalPrivateIntransitiveDependencies By Default
CodaFi Jun 9, 2020
7997183
IRGen: Move emitProtocolConformance before emitLazyDefinitions
aschwaighofer Jun 8, 2020
f7fd83d
Merge pull request #32220 from gregomni/unintended_generic_param
gregomni Jun 9, 2020
b65300f
Merge pull request #32245 from nkcsgexi/scan-overlay-file
nkcsgexi Jun 9, 2020
a487767
[CS] Add a missing null check in repairFailures
hamishknight Jun 9, 2020
c749f37
[ownership] Add new OwnershipEliminatorPass that does not run when th…
gottesmm Jun 9, 2020
d890f29
[AutoDiff] Improve debugging utilities. (#32269)
dan-zheng Jun 9, 2020
a6cb3ae
Merge pull request #32256 from gottesmm/pr-6a889299976ad0e3dfbc1849e1…
gottesmm Jun 9, 2020
6a1534d
Merge pull request #32261 from LucianoPAlmeida/comment-fix
LucianoPAlmeida Jun 9, 2020
3228a59
[NFC] Rename Flags
CodaFi Jun 9, 2020
2cbf28d
[test] Set LD_LIBRARY_PATH if testing on OpenBSD.
3405691582 Mar 14, 2020
330dc01
[AutoDiff upstream] NFC: garden doc comment. (#32264)
dan-zheng Jun 9, 2020
0d1f6ae
Print @escaping For Closures In Generated Memberwise Initializer
CodaFi Jun 10, 2020
617189f
Merge pull request #31980 from rintaro/ide-completion-keypathsubscrip…
rintaro Jun 10, 2020
713c76b
Merge pull request #32278 from hamishknight/nullable-ptr
hamishknight Jun 10, 2020
bc3dd8c
Merge pull request #32279 from gottesmm/pr-153bb098e8dbcdf855bdfe38c1…
gottesmm Jun 10, 2020
07a328b
[generics] Change replaceWithSpecializedCallee to use an exhaustive s…
gottesmm Jun 10, 2020
c4b68b8
Merge pull request #32284 from 3405691582/Test_OpenBSD_TestLibraries
compnerd Jun 10, 2020
6a9d087
SILCombine: a peephole optimization to optimize alloc_stack of enums.
eeckstein Jun 9, 2020
fe8893d
Merge pull request #32267 from eeckstein/opt-enum-allocstack
eeckstein Jun 10, 2020
537b103
[testing] add missing REQUIRES: standalone_build
davezarzycki Jun 10, 2020
9168b81
Don't require the stdlib to contain the _finalizeUninitializedArray i…
eeckstein Jun 10, 2020
017ee7b
[SIL] NFC: Simplify SILVTable and save 8 bytes per SILVTable
davezarzycki Jun 8, 2020
c1a1cc6
Merge pull request #32294 from davezarzycki/pr32294
swift-ci Jun 10, 2020
dfe82be
Merge pull request #32263 from davezarzycki/stop-being-a-sop
davezarzycki Jun 10, 2020
65a0846
Fix c_globals.swift test on arm64
aschwaighofer Jun 10, 2020
4ef9cb9
Merge pull request #32295 from eeckstein/fix-silgen-crash
eeckstein Jun 10, 2020
9a3d863
Merge pull request #32238 from davezarzycki/pr32238
davezarzycki Jun 10, 2020
05ed0dd
Add back test case
aschwaighofer Jun 10, 2020
f80d6ab
Merge pull request #32290 from gottesmm/pr-d9bd430041dcb06e248e0e81c3…
gottesmm Jun 10, 2020
c7efed9
Merge pull request #32285 from CodaFi/escape-velocity
CodaFi Jun 10, 2020
51a60a6
Merge pull request #32274 from CodaFi/transport-tycoon
CodaFi Jun 10, 2020
28fba4f
Merge pull request #32195 from aschwaighofer/dyn_repl_objc_method_gen…
aschwaighofer Jun 10, 2020
50dc7d8
[Driver/SourceKit] Handle filelist driver args in getSingleFrontendIn…
Jun 9, 2020
99ab7db
[Gardening] Document DependencyRecorder and DependencyCollector
CodaFi Jun 10, 2020
ca72891
Merge pull request #32138 from AnthonyLatsis/eliminate-typeloc
CodaFi Jun 10, 2020
1fb06f1
Merge pull request #32216 from keith/ks/coverage-modules
swift-ci Jun 10, 2020
6730270
Dependencies: Small cleanup in FineGrainedDependencies.{h,cpp}
slavapestov Jun 2, 2020
d59a76c
Dependencies: New binary format for fine-grained dependency graph
slavapestov Jun 2, 2020
82c0897
Dependencies: Fix uninitialized memory in SourceFileDepGraphNode
slavapestov Jun 7, 2020
4ff62ec
Dependencies: Implement SourceFileDepGraphNode::dump()
slavapestov Jun 7, 2020
915e215
[ClangImporter] Make sure that inherited convenience constructors are…
akyrtzi Jun 5, 2020
9b77762
Merge pull request #32299 from CodaFi/doctor-my-eyes
swift-ci Jun 10, 2020
fc9070c
Strip TypeLoc from IsPattern
CodaFi Jun 10, 2020
60ec3f1
Fix debug description for cases with multiple items (#32282)
vedantk Jun 10, 2020
2371e5c
Strip TypeLoc from EnumElementPattern
CodaFi Jun 10, 2020
41758c0
Merge pull request #32148 from nathawes/doc-info-underscored-protocol…
Jun 10, 2020
499ed05
Revert "Emit coverage mappings for all modules"
compnerd Jun 10, 2020
1979d3d
Merge pull request #32297 from aschwaighofer/fix_test_c_globals_arm64
aschwaighofer Jun 10, 2020
7b431b4
[test] Mark XFAIL tests for OpenBSD.
3405691582 Mar 21, 2020
4205e46
Merge pull request #32184 from rintaro/ide-completion-rdar63965160
rintaro Jun 10, 2020
a3ce462
Merge pull request #32214 from akyrtzi/clang-include-inherited-conven…
akyrtzi Jun 10, 2020
e101576
[NFC] Reduce usage of TypedPattern::getTypeLoc
CodaFi Jun 10, 2020
f89e213
Merge pull request #32281 from nathawes/handle-filelists-in-sourcekit…
Jun 11, 2020
08b7e7e
[gardening] Convert an explicit usage of rbegin,rend -> llvm::reverse…
gottesmm Jun 11, 2020
bd23534
[NFC] CS: Inline a parameter in openUnboundGenericType
AnthonyLatsis Jun 11, 2020
426d930
Merge pull request #32301 from CodaFi/location-location-location
CodaFi Jun 11, 2020
fb8fdd9
Replace resolveCustomAttrType with a Request
CodaFi Jun 10, 2020
80d3a32
Strip ImplementsAttr of its TypeLoc
CodaFi Jun 10, 2020
29cdbe8
Strip TypeEraserAttr of its TypeLoc
CodaFi Jun 11, 2020
8f065e7
Delete TypeChecker::validateType
CodaFi Jun 11, 2020
5ef2751
Merge pull request #32307 from gottesmm/pr-199321807d64e7a17366ae4af2…
swift-ci Jun 11, 2020
122deaa
Merge pull request #32303 from apple/revert-32216-ks/coverage-modules
compnerd Jun 11, 2020
4ff5dd4
Dependencies: New swift-dependency-tool to convert between binary and…
slavapestov Jun 9, 2020
fe3f6b3
Dependencies: Update tests for new binary format
slavapestov Jun 9, 2020
53931c0
Dependencies: Remove apparently-unused test inputs
slavapestov Jun 10, 2020
b873fe2
Code review feedback from Dave Ungar
slavapestov Jun 10, 2020
ca26d57
Merge pull request #32310 from CodaFi/relocation-allowance
CodaFi Jun 11, 2020
42d2f9d
Merge pull request #32308 from 3405691582/Test_OpenBSD_XfailAndRequired
CodaFi Jun 11, 2020
965c735
Merge pull request #32131 from slavapestov/binary-swiftdeps-format
slavapestov Jun 11, 2020
cdc38da
Merge pull request #32309 from AnthonyLatsis/cs-openunbound-dead-param
AnthonyLatsis Jun 11, 2020
f171358
[testing] Add missing REQUIRES: standalone_test
davezarzycki Jun 11, 2020
abfbbbe
Merge pull request #32213 from aschwaighofer/note_use_of_type_metadat…
aschwaighofer Jun 11, 2020
e5a5ab1
Merge pull request #32314 from davezarzycki/pr32314
swift-ci Jun 11, 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
  •  
  •  
  •  
12 changes: 4 additions & 8 deletions cmake/modules/AddSwift.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -451,20 +451,16 @@ function(add_swift_host_library name)
LIBRARY_DIR ${SWIFT_LIBRARY_OUTPUT_INTDIR})

if(SWIFT_HOST_VARIANT_SDK IN_LIST SWIFT_APPLE_PLATFORMS)
set_target_properties(${name}
PROPERTIES
set_target_properties(${name} PROPERTIES
INSTALL_NAME_DIR "@rpath")
elseif(SWIFT_HOST_VARIANT_SDK STREQUAL LINUX)
set_target_properties(${name}
PROPERTIES
set_target_properties(${name} PROPERTIES
INSTALL_RPATH "$ORIGIN:/usr/lib/swift/linux")
elseif(SWIFT_HOST_VARIANT_SDK STREQUAL CYGWIN)
set_target_properties(${name}
PROPERTIES
set_target_properties(${name} PROPERTIES
INSTALL_RPATH "$ORIGIN:/usr/lib/swift/cygwin")
elseif(SWIFT_HOST_VARIANT_SDK STREQUAL "ANDROID")
set_target_properties(${name}
PROPERTIES
set_target_properties(${name} PROPERTIES
INSTALL_RPATH "$ORIGIN")
endif()

Expand Down
4 changes: 3 additions & 1 deletion docs/ABI/Mangling.rst
Original file line number Diff line number Diff line change
Expand Up @@ -589,7 +589,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)?
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?)?

PATTERN-SUBS ::= 's' // has pattern substitutions
INVOCATION-SUB ::= 'I' // has invocation substitutions
Expand Down Expand Up @@ -634,6 +634,8 @@ mangled in to disambiguate.
RESULT-CONVENTION ::= 'u' // unowned inner pointer
RESULT-CONVENTION ::= 'a' // auto-released

RESULT-DIFFERENTIABILITY ::= 'w' // @noDerivative

For the most part, manglings follow the structure of formal language
types. However, in some cases it is more useful to encode the exact
implementation details of a function type.
Expand Down
6 changes: 6 additions & 0 deletions include/swift/AST/ASTContext.h
Original file line number Diff line number Diff line change
Expand Up @@ -407,6 +407,12 @@ class ASTContext final {
array.size());
}

template <typename T>
MutableArrayRef<T>
AllocateCopy(const std::vector<T> &vec,
AllocationArena arena = AllocationArena::Permanent) const {
return AllocateCopy(ArrayRef<T>(vec), arena);
}

template<typename T>
ArrayRef<T> AllocateCopy(const SmallVectorImpl<T> &vec,
Expand Down
4 changes: 2 additions & 2 deletions include/swift/AST/ASTNode.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ namespace swift {
class Stmt;
class Decl;
class Pattern;
class TypeLoc;
class TypeRepr;
class DeclContext;
class SourceLoc;
class SourceRange;
Expand All @@ -41,7 +41,7 @@ namespace swift {
enum class StmtKind;

struct ASTNode : public llvm::PointerUnion<Expr *, Stmt *, Decl *, Pattern *,
TypeLoc *> {
TypeRepr *> {
// Inherit the constructors from PointerUnion.
using PointerUnion::PointerUnion;

Expand Down
4 changes: 2 additions & 2 deletions include/swift/AST/ASTWalker.h
Original file line number Diff line number Diff line change
Expand Up @@ -216,12 +216,12 @@ class ASTWalker {
virtual bool shouldWalkIntoLazyInitializers() { return true; }

/// This method configures whether the walker should visit the body of a
/// non-single expression closure.
/// closure that was checked separately from its enclosing expression.
///
/// For work that is performed for every top-level expression, this should
/// be overridden to return false, to avoid duplicating work or visiting
/// bodies of closures that have not yet been type checked.
virtual bool shouldWalkIntoNonSingleExpressionClosure(ClosureExpr *) {
virtual bool shouldWalkIntoSeparatelyCheckedClosure(ClosureExpr *) {
return true;
}

Expand Down
14 changes: 0 additions & 14 deletions include/swift/AST/AnyFunctionRef.h
Original file line number Diff line number Diff line change
Expand Up @@ -89,20 +89,6 @@ class AnyFunctionRef {
return TheFunction.get<AbstractClosureExpr *>()->getSingleExpressionBody();
}

void setSingleExpressionBody(Expr *expr) {
if (auto *AFD = TheFunction.dyn_cast<AbstractFunctionDecl *>()) {
AFD->setSingleExpressionBody(expr);
return;
}

auto ACE = TheFunction.get<AbstractClosureExpr *>();
if (auto CE = dyn_cast<ClosureExpr>(ACE)) {
CE->setSingleExpressionBody(expr);
} else {
cast<AutoClosureExpr>(ACE)->setBody(expr);
}
}

Type getType() const {
if (auto *AFD = TheFunction.dyn_cast<AbstractFunctionDecl *>())
return AFD->getInterfaceType();
Expand Down
55 changes: 29 additions & 26 deletions include/swift/AST/Attr.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
#include "swift/AST/PlatformKind.h"
#include "swift/AST/Requirement.h"
#include "swift/AST/TrailingCallArguments.h"
#include "swift/AST/TypeLoc.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/ErrorHandling.h"
Expand All @@ -56,6 +55,7 @@ class LazyConformanceLoader;
class LazyMemberLoader;
class PatternBindingInitializer;
class TrailingWhereClause;
class TypeExpr;

/// TypeAttributes - These are attributes that may be applied to types.
class TypeAttributes {
Expand Down Expand Up @@ -1110,47 +1110,41 @@ class DynamicReplacementAttr final

/// The \c @_typeEraser(TypeEraserType) attribute.
class TypeEraserAttr final : public DeclAttribute {
TypeLoc TypeEraserLoc;
TypeExpr *TypeEraserExpr;
LazyMemberLoader *Resolver;
uint64_t ResolverContextData;

friend class ResolveTypeEraserTypeRequest;

TypeEraserAttr(SourceLoc atLoc, SourceRange range, TypeLoc typeEraserLoc,
TypeEraserAttr(SourceLoc atLoc, SourceRange range, TypeExpr *typeEraserExpr,
LazyMemberLoader *Resolver, uint64_t Data)
: DeclAttribute(DAK_TypeEraser, atLoc, range, /*Implicit=*/false),
TypeEraserLoc(typeEraserLoc),
TypeEraserExpr(typeEraserExpr),
Resolver(Resolver), ResolverContextData(Data) {}

public:
static TypeEraserAttr *create(ASTContext &ctx,
SourceLoc atLoc, SourceRange range,
TypeLoc typeEraserLoc);
TypeExpr *typeEraserRepr);

static TypeEraserAttr *create(ASTContext &ctx,
LazyMemberLoader *Resolver,
uint64_t Data);

/// Retrieve the parsed type repr for this attribute, if it
/// was parsed. Else returns \c nullptr.
TypeRepr *getParsedTypeEraserTypeRepr() const {
return TypeEraserLoc.getTypeRepr();
}
TypeRepr *getParsedTypeEraserTypeRepr() const;

/// Retrieve the parsed location for this attribute, if it was parsed.
SourceLoc getLoc() const {
return TypeEraserLoc.getLoc();
}
SourceLoc getLoc() const;

/// Retrieve the resolved type of this attribute if it has been resolved by a
/// successful call to \c getResolvedType(). Otherwise,
/// returns \c Type()
///
/// This entrypoint is only suitable for syntactic clients like the
/// AST printer. Semantic clients should use \c getResolvedType() instead.
Type getTypeWithoutResolving() const {
return TypeEraserLoc.getType();
}
Type getTypeWithoutResolving() const;

/// Returns \c true if the type eraser type has a valid implementation of the
/// erasing initializer for the given protocol.
Expand Down Expand Up @@ -1464,25 +1458,26 @@ class SpecializeAttr : public DeclAttribute {
/// The @_implements attribute, which treats a decl as the implementation for
/// some named protocol requirement (but otherwise not-visible by that name).
class ImplementsAttr : public DeclAttribute {

TypeLoc ProtocolType;
TypeExpr *ProtocolType;
DeclName MemberName;
DeclNameLoc MemberNameLoc;

public:
ImplementsAttr(SourceLoc atLoc, SourceRange Range,
TypeLoc ProtocolType,
TypeExpr *ProtocolType,
DeclName MemberName,
DeclNameLoc MemberNameLoc);

static ImplementsAttr *create(ASTContext &Ctx, SourceLoc atLoc,
SourceRange Range,
TypeLoc ProtocolType,
TypeExpr *ProtocolType,
DeclName MemberName,
DeclNameLoc MemberNameLoc);

TypeLoc getProtocolType() const;
TypeLoc &getProtocolType();
void setProtocolType(Type ty);
Type getProtocolType() const;
TypeRepr *getProtocolTypeRepr() const;

DeclName getMemberName() const { return MemberName; }
DeclNameLoc getMemberNameLoc() const { return MemberNameLoc; }

Expand Down Expand Up @@ -1595,27 +1590,27 @@ class ClangImporterSynthesizedTypeAttr : public DeclAttribute {
/// Defines a custom attribute.
class CustomAttr final : public DeclAttribute,
public TrailingCallArguments<CustomAttr> {
TypeLoc type;
TypeExpr *typeExpr;
Expr *arg;
PatternBindingInitializer *initContext;
Expr *semanticInit = nullptr;

unsigned hasArgLabelLocs : 1;
unsigned numArgLabels : 16;

CustomAttr(SourceLoc atLoc, SourceRange range, TypeLoc type,
CustomAttr(SourceLoc atLoc, SourceRange range, TypeExpr *type,
PatternBindingInitializer *initContext, Expr *arg,
ArrayRef<Identifier> argLabels, ArrayRef<SourceLoc> argLabelLocs,
bool implicit);

public:
static CustomAttr *create(ASTContext &ctx, SourceLoc atLoc, TypeLoc type,
static CustomAttr *create(ASTContext &ctx, SourceLoc atLoc, TypeExpr *type,
bool implicit = false) {
return create(ctx, atLoc, type, false, nullptr, SourceLoc(), { }, { }, { },
SourceLoc(), implicit);
}

static CustomAttr *create(ASTContext &ctx, SourceLoc atLoc, TypeLoc type,
static CustomAttr *create(ASTContext &ctx, SourceLoc atLoc, TypeExpr *type,
bool hasInitializer,
PatternBindingInitializer *initContext,
SourceLoc lParenLoc,
Expand All @@ -1628,8 +1623,8 @@ class CustomAttr final : public DeclAttribute,
unsigned getNumArguments() const { return numArgLabels; }
bool hasArgumentLabelLocs() const { return hasArgLabelLocs; }

TypeLoc &getTypeLoc() { return type; }
const TypeLoc &getTypeLoc() const { return type; }
TypeRepr *getTypeRepr() const;
Type getType() const;

Expr *getArg() const { return arg; }
void setArg(Expr *newArg) { arg = newArg; }
Expand All @@ -1642,6 +1637,14 @@ class CustomAttr final : public DeclAttribute,
static bool classof(const DeclAttribute *DA) {
return DA->getKind() == DAK_Custom;
}

private:
friend class CustomAttrNominalRequest;
void resetTypeInformation(TypeExpr *repr);

private:
friend class CustomAttrTypeRequest;
void setType(Type ty);
};

/// Relates a property to its projection value property, as described by a property wrapper. For
Expand Down
30 changes: 19 additions & 11 deletions include/swift/AST/AutoDiff.h
Original file line number Diff line number Diff line change
Expand Up @@ -173,18 +173,21 @@ enum class AutoDiffGeneratedDeclarationKind : uint8_t {
};

/// SIL-level automatic differentiation indices. Consists of:
/// - Parameter indices: indices of parameters to differentiate with respect to.
/// - Result index: index of the result to differentiate from.
/// - The differentiability parameter indices.
/// - The differentiability result indices.
// TODO(TF-913): Remove `SILAutoDiffIndices` in favor of `AutoDiffConfig`.
// `AutoDiffConfig` supports multiple result indices.
// `AutoDiffConfig` additionally stores a derivative generic signature.
struct SILAutoDiffIndices {
/// The index of the dependent result to differentiate from.
unsigned source;
/// The indices for independent parameters to differentiate with respect to.
/// The indices of independent parameters to differentiate with respect to.
IndexSubset *parameters;
/// The indices of dependent results to differentiate from.
IndexSubset *results;

/*implicit*/ SILAutoDiffIndices(unsigned source, IndexSubset *parameters)
: source(source), parameters(parameters) {}
/*implicit*/ SILAutoDiffIndices(IndexSubset *parameters, IndexSubset *results)
: parameters(parameters), results(results) {
assert(parameters && "Parameter indices must be non-null");
assert(results && "Result indices must be non-null");
}

bool operator==(const SILAutoDiffIndices &other) const;

Expand All @@ -202,7 +205,12 @@ struct SILAutoDiffIndices {
SWIFT_DEBUG_DUMP;

std::string mangle() const {
std::string result = "src_" + llvm::utostr(source) + "_wrt_";
std::string result = "src_";
interleave(
results->getIndices(),
[&](unsigned idx) { result += llvm::utostr(idx); },
[&] { result += '_'; });
result += "_wrt_";
llvm::interleave(
parameters->getIndices(),
[&](unsigned idx) { result += llvm::utostr(idx); },
Expand Down Expand Up @@ -513,8 +521,8 @@ IndexSubset *getLoweredParameterIndices(IndexSubset *astParameterIndices,
///
/// Returns the "constrained" derivative/transpose generic signature given:
/// - An original SIL function type.
/// - Differentiability parameter indices.
/// - A possibly "unconstrained" derivative generic signature.
/// - Differentiability/linearity parameter indices.
/// - A possibly "unconstrained" derivative/transpose generic signature.
GenericSignature getConstrainedDerivativeGenericSignature(
SILFunctionType *originalFnTy, IndexSubset *diffParamIndices,
GenericSignature derivativeGenSig, LookupConformanceFn lookupConformance,
Expand Down
32 changes: 32 additions & 0 deletions include/swift/AST/Decl.h
Original file line number Diff line number Diff line change
Expand Up @@ -2715,6 +2715,7 @@ class ValueDecl : public Decl {
/// Is this declaration marked with 'dynamic'?
bool isDynamic() const;

private:
bool isObjCDynamic() const {
return isObjC() && isDynamic();
}
Expand All @@ -2723,6 +2724,37 @@ class ValueDecl : public Decl {
return !isObjC() && isDynamic();
}

bool isObjCDynamicInGenericClass() const;

public:
/// Should we use Objective-C method dispatch for this decl.
bool shouldUseObjCDispatch() const {
return isObjCDynamic();
}

/// Should we use native dynamic function replacement dispatch for this decl.
bool shouldUseNativeDynamicDispatch() const {
return isNativeDynamic();
}

/// Should we use Objective-C category based function replacement for this
/// decl.
/// This is all `@objc dynamic` methods except for such methods in native
/// generic classes. We can't use a category for generic classes so we use
/// native replacement instead (this behavior is only enabled with
/// -enable-implicit-dynamic).
bool shouldUseObjCMethodReplacement() const;

/// Should we use native dynamic function replacement mechanism for this decl.
/// This is all native dynamic methods except for `@objc dynamic` methods in
/// generic classes (see above).
bool shouldUseNativeMethodReplacement() const;

/// Is this a native dynamic function replacement based replacement.
/// This is all @_dynamicReplacement(for:) of native functions and @objc
/// dynamic methods on generic classes (see above).
bool isNativeMethodReplacement() const;

bool isEffectiveLinkageMoreVisibleThan(ValueDecl *other) const {
return (std::min(getEffectiveAccess(), AccessLevel::Public) >
std::min(other->getEffectiveAccess(), AccessLevel::Public));
Expand Down
8 changes: 4 additions & 4 deletions include/swift/AST/DiagnosticsCommon.def
Original file line number Diff line number Diff line change
Expand Up @@ -159,11 +159,11 @@ NOTE(circular_type_resolution_note,none,
// MARK: Cross-import overlay loading diagnostics
//------------------------------------------------------------------------------
ERROR(cannot_load_swiftoverlay_file, none,
"cannot load cross-import overlay for %0 and %1: %2 (declared by '%3')",
(Identifier, Identifier, StringRef, StringRef))
"cannot load cross-import overlay for '%0' and '%1': %2 (declared by '%3')",
(StringRef, StringRef, StringRef, StringRef))
ERROR(cannot_list_swiftcrossimport_dir, none,
"cannot list cross-import overlays for %0: %1 (declared in '%2')",
(Identifier, StringRef, StringRef))
"cannot list cross-import overlays for '%0': %1 (declared in '%2')",
(StringRef, StringRef, StringRef))
WARNING(cross_imported_by_both_modules, none,
"modules %0 and %1 both declare module %2 as a cross-import overlay, "
"which may cause paradoxical behavior when looking up names in them; "
Expand Down
Loading