Commit Graph

112886 Commits

Author SHA1 Message Date
swift_jenkins
833e4c1eb4 Merge remote-tracking branch 'origin/main' into next 2020-10-07 14:46:15 -07:00
swift-ci
ee280e6058 Merge pull request #34224 from CodaFi/radical-incrementalism 2020-10-07 14:44:58 -07:00
nate-chandler
7b64c07d6a Merge pull request #34221 from nate-chandler/concurrency/irgen/test-copies-dylib
[Test] Ensure linked dylib is copied to devices.
2020-10-07 14:38:03 -07:00
nate-chandler
d32b9350b2 Merge pull request #34211 from nate-chandler/concurrency/irgen/protocol-witness-methods
[Async CC] Support for protocol witness methods.
2020-10-07 14:37:47 -07:00
swift_jenkins
608446bafe Merge remote-tracking branch 'origin/main' into next 2020-10-07 14:16:40 -07:00
Josh Learn
1e6ea761c0 Merge pull request #34208 from guitard0g/sp_entrypoint
[OSSignpost] Update apinotes to allow usage of os_signpost ABI entrypoint
2020-10-07 13:15:09 -07:00
swift_jenkins
a9bcde69b4 Merge remote-tracking branch 'origin/main' into next 2020-10-07 12:35:38 -07:00
Slava Pestov
112e45dc7a Merge pull request #34205 from slavapestov/astscope-source-range-fixes
ASTScope: Pre-compute the right source ranges instead of relying on widening
2020-10-07 15:24:37 -04:00
Robert Widmann
8fbcdf392f [NFC] Use IncrementalJobAction to Supersede getFirstSwiftPrimaryInput()
This function was being used in a roundabout way to test for a compile job action. But the actual data itself was not being used.
2020-10-07 12:08:21 -07:00
Robert Widmann
e5737bc5cb [NFC] Insert IncrementalJobAction into the Action Hierarchy
This will be used to extend incremental behavior to merge-modules and the bridging header precompile step.
2020-10-07 12:07:16 -07:00
Pavel Yaskevich
4175a01987 Merge pull request #34206 from xedin/decouple-cs-tc-headers
[Sema] Decouple ConstraintSystem and TypeChecker headers
2020-10-07 10:51:53 -07:00
Nate Chandler
b33b4f05bb [Test] Ensure linked dylib is copied to devices.
The tests IRGen/async/run-* all link against a PrintShims dylib.  To
force that dylib to be copied onto devices running these tests, add the
dylib's path to the %target-run line.
2020-10-07 10:46:59 -07:00
eeckstein
d70f35d09d Merge pull request #34218 from CodaFi/pseudo-lithis
Patch Out Use-Of-Stack-After-Free In Cross Module Dependencies
2020-10-07 19:26:31 +02:00
Robert Widmann
38b1da30bd Patch Out Use-Of-Stack-After-Free In Cross Module Dependencies
The fake job is entered into the map to satisfy the tracing machinery.
When that same machinery kicks into gear to print out paths, lookups
into the dictionary will access data has gone out of scope.

For now, cut off the read. There will be another refactoring patch that
keeps these temporaries out of the Driver's data structures entirely.

rdar://70053563
2020-10-07 10:18:57 -07:00
Slava Pestov
b8cccb1ef8 ASTScope: Fix SourceFileScope source range
A SourceFile might contain TopLevelCodeDecls with guard statements,
which introduce names until the end of the file, so plumb that
through.
2020-10-07 12:33:30 -04:00
Slava Pestov
dac68ca047 ASTScope: Fix TopLevelCodeScope source range
Top-level code can contain guard statements which introduce
bindings until the end of the parent scope, so plumb that
through.
2020-10-07 12:33:29 -04:00
Slava Pestov
2e67c135fd ASTScope: Rework ConditionalClauseScopes
The top-level scope for a conditional clause with a pattern is now
ConditionalClausePatternUseScope, which introduces the pattern's
bindings.

Since the patterns are not visible in their own initializer, a new
ConditionalClauseInitializerScope is used for the initializer.
While it is nested inside of the ConditionalClausePatternUseScope,
it's lookup parent skips one level, giving us the desired behavior.
2020-10-07 12:33:29 -04:00
Slava Pestov
66873b94c9 ASTScope: Fix SubscriptDeclScope source range
The source range needs to contain any attributes on the subscript
declaration, since those might create child scopes (@_specialize,
property wrappers, etc).
2020-10-07 12:33:29 -04:00
Slava Pestov
824ecdd0aa ASTScope: Fix AttachedPropertyWrapperScope source range
The source range needs to contain the argument expression.
2020-10-07 12:33:29 -04:00
swift_jenkins
43ed815821 Merge remote-tracking branch 'origin/main' into next 2020-10-07 08:42:09 -07:00
John McCall
171e0e25fe Merge pull request #34213 from rjmccall/abstract-assoc-type-for-conformance
Fetch associated types abstractly when fetching an associated conformance
2020-10-07 11:22:51 -04:00
swift_jenkins
6582c131ed Merge remote-tracking branch 'origin/main' into next 2020-10-07 07:11:56 -07:00
Slava Pestov
15bf0478ad Merge pull request #34195 from slavapestov/dynamic-self-var-csapply
Sema: Fix type of MemberRefExpr for a VarDecl with DynamicSelfType
swift-DEVELOPMENT-SNAPSHOT-2020-10-07-a
2020-10-07 09:44:22 -04:00
swift_jenkins
5be946ce67 Merge remote-tracking branch 'origin/main' into next 2020-10-07 05:43:38 -07:00
swift-ci
6918525455 Merge pull request #34184 from apple/maxd/versions-typo 2020-10-07 05:32:53 -07:00
Max Desiatov
4b6bc60d23 NFC: fix typo in build_swift/versions.py 2020-10-07 11:13:46 +01:00
swift_jenkins
a1804cc2ac Merge remote-tracking branch 'origin/main' into next 2020-10-07 00:48:37 -07:00
eeckstein
840f1a4233 Merge pull request #34203 from apple/data-test-availability
[test] Don’t check for new behavior on older systems that don’t include the change
2020-10-07 09:44:30 +02:00
swift_jenkins
ea08a982fe Merge remote-tracking branch 'origin/main' into next 2020-10-06 23:10:40 -07:00
Robert Widmann
245ace3c6b Merge pull request #34196 from CodaFi/crossbeam
Turn On Cross-Module Incremental Builds!
2020-10-06 23:04:24 -07:00
swift_jenkins
c5f9c25080 Merge remote-tracking branch 'origin/main' into next 2020-10-06 22:48:35 -07:00
Slava Pestov
8ebfd9aa58 Merge pull request #34204 from slavapestov/astscope-related-refactorings
A few small ASTScope-related refactorings
2020-10-07 01:37:21 -04:00
swift_jenkins
0a04acdaab Merge remote-tracking branch 'origin/main' into next 2020-10-06 21:20:50 -07:00
Xi Ge
b22458e3f6 Merge pull request #34189 from nkcsgexi/disable-building-interface
Frontend: add a frontend flag to disable building module from textual interface
2020-10-06 20:50:44 -07:00
swift_jenkins
63df033221 Merge remote-tracking branch 'origin/main' into next 2020-10-06 20:37:03 -07:00
nate-chandler
1af9977bce Merge pull request #34200 from nate-chandler/concurrency/irgen/protocol-extension-methods
[Async CC] Support for protocol extension methods.
2020-10-06 20:29:30 -07:00
John McCall
2546c2d78d Fetch associated types abstractly when fetching an associated conformance.
By default, emitTypeMetadataRef does a blocking request for complete
metadata, which is the right thing to do for most purposes in IRGen.
Unfortunately, it's actively dangerous in code that can be called
during metadata completion, like an associated conformance accessor,
because it can cause artificial dependency cycles that the runtime
isn't equipped to detect, much less solve.

This is a partial fix for rdar://69901318, which also exposes a bad
metadata access path that seems to be causing an artificial problem.
2020-10-06 23:11:17 -04:00
swift_jenkins
d40292cbc9 Merge remote-tracking branch 'origin/main' into next 2020-10-06 19:57:03 -07:00
Doug Gregor
d21ff5cc03 Merge pull request #34171 from DougGregor/concurrency-objc-compatibility
[Concurrency] Improve source compatibility with 'async' imports
2020-10-06 19:42:58 -07:00
Nate Chandler
4c298db529 [NFC] Extracted async call emission loading.
Previously the code for loading indirect returns was inline in the
member function where it was performed.  Here it is pulled out into a
private method.
2020-10-06 17:03:38 -07:00
Nate Chandler
6e0d894325 [NFC] Deduped async call emission code.
Previously the same code was used for saving values into the async
context.  Here, that code is extracted into a private method.
2020-10-06 17:03:35 -07:00
Nate Chandler
0a5df673ed [NFC] Deduped async entry point emission code.
Previously the same code was used for loading values from the async
context.  Here, that same code is extracted into a private method.
2020-10-06 17:03:03 -07:00
Nate Chandler
7d74a8614d [Concurrency] Async CC supports witness methods.
Previously, the AsyncContextLayout did not make space for the trailing
witness fields (self metadata and self witness table) and the
AsyncNativeCCEntryPointArgumentEmission could consequently not vend
these fields.  Here, the fields are added to the layout.
2020-10-06 17:03:03 -07:00
Nate Chandler
eba39cffe6 [Concurrency] Corrected ordering of indirect results.
Previously, the indirect results were claimed from the explosion after
the arguments were claimed.  That failed to match the order in which
arguments actually appear in the explosion.  Here the order is reversed.
2020-10-06 17:03:01 -07:00
Pavel Yaskevich
0b648fb455 [TypeChecker] NFC: Include constraint system into TypeChecker header
Avoids having to include ConstraintSystem.h in TypeCheck*.cpp
files to gain access to ContextualInfo and related classes.
2020-10-06 15:42:46 -07:00
swift_jenkins
fa8063cbf0 Merge remote-tracking branch 'origin/main' into next 2020-10-06 14:47:30 -07:00
Xi Ge
e5b6333e66 Merge pull request #34186 from porglezomp-misc/only-install-swift-driver
[build] Support installing swift-driver without swiftpm
2020-10-06 14:30:04 -07:00
Josh Learn
5c3814e4dd [OSSignpost] Update apinotes to allow usage of os_signpost ABI entrypoint
Currently, the `_os_signpost_emit_with_name_impl` function is not available to be called from Swift. This is the main ABI entrypoint for making os_signpost calls. In order to facilitate more efficient calls to os_signpost in future iterations of the Swift os_signpost API, we need to allow calling this function from Swift.

rdar://70015938
2020-10-06 14:18:01 -07:00
Doug Gregor
e60a68e1ee Generalize test harder 2020-10-06 14:03:56 -07:00
swift_jenkins
9a0b2a0da1 Merge remote-tracking branch 'origin/main' into next 2020-10-06 13:42:28 -07:00