Commit Graph

46922 Commits

Author SHA1 Message Date
Arnold Schwaighofer
34b532add1 Merge pull request #37274 from aschwaighofer/fix_some_concurrency_tests_for_os_stdlib
Fix some concurrency tests not to run on os stdlib bots
2021-05-05 10:37:18 -07:00
Arnold Schwaighofer
1fc81fe726 Fix some concurrency tests not to run on os stdlib bots
rdar://77564014
2021-05-05 10:35:42 -07:00
Pavel Yaskevich
f5e672e985 Merge pull request #37216 from xedin/rdar-70610141
[Diagnostics] Improve diagnostics when passing `async` to a sync parameter
2021-05-05 10:10:05 -07:00
Pavel Yaskevich
0cca70b916 Merge pull request #37260 from xedin/rdar-76475495
[Sema] Suppress concurrency related diagnostics for invalid AST nodes
2021-05-05 10:09:51 -07:00
Mishal Shah
094f6cfeb2 Merge pull request #37270 from aschwaighofer/disable_concurrency_checked_continuation_test
Disable Concurrency/Runtime/checked_continuation.swift on windows
2021-05-05 10:03:49 -07:00
Arnold Schwaighofer
b327bc985e Disable Concurrency/Runtime/checked_continuation.swift on windows
It seems to fail sometimes.
2021-05-05 09:58:27 -07:00
Pavel Yaskevich
1d5e3d4b6c Merge pull request #37246 from xedin/test-case-for-valid-type-arg-of-subscript
[TypeChecker] NFC: Add a test-case for expression affected by rdar://61749633
2021-05-05 09:58:14 -07:00
Arnold Schwaighofer
394e071761 Disable IDE/import_as_member.swift on the tv simulator
It fails on the bots.
rdar://77558075
2021-05-05 08:40:47 -07:00
Mike Ash
7f4fbf9e95 Merge pull request #37257 from mikeash/fix-protocol-conformance-collision-test
[Test] Fix Runtime/protocol_conformance_collision.swift on 11.3+.
2021-05-05 11:22:42 -04:00
kaar3k@gmail.com
69a812333c [SR-14135]Updating diagnostic message for convenience init in struct 2021-05-05 19:57:53 +05:30
Saleem Abdulrasool
0771f1ec86 Merge pull request #37211 from compnerd/windows-static-linking
IRGen: support static linking on Windows
2021-05-05 07:26:36 -07:00
Xi Ge
c24b693e8c Merge pull request #37264 from nkcsgexi/underscore_version_canimport
Use underscored syntax for versioned canImport condition
2021-05-05 04:23:46 -07:00
Alex Hoppen
5b581221ff Merge pull request #37241 from ahoppen/pr/invalid-deferred-length
[libSyntax] Explicitly return 0 as length of missing deferred tokens
2021-05-05 13:11:11 +02:00
Hamish Knight
69caeae420 Merge pull request #37189 from hamishknight/break-it-down-for-me 2021-05-05 10:07:11 +01:00
Xi Ge
c446253075 Use underscored syntax for versioned canImport condition 2021-05-04 19:59:57 -07:00
Owen Voorhees
07fb294c8a [APIDigester] Provide a category when serializing diagnostics representing API or ABI breakage 2021-05-04 19:35:35 -07:00
Xi Ge
1698d258dd Merge pull request #37249 from nkcsgexi/73992299-5
ClangImporter: check version specified in canImport with the project version specified in .tbd files
2021-05-04 18:43:27 -07:00
Joe Groff
38497aa6b2 Merge pull request #37226 from jckarter/objc-async-bridge-block-captures
SILGen: Copy the block before detaching a task for async methods called from ObjC.
2021-05-04 15:48:00 -07:00
Zachary 'Clack' Cole
84081bbb11 Merge pull request #37230 from clackary/update-tvos-simulator
Use 'Apple TV' as tvOS device simulator
2021-05-04 16:14:17 -06:00
Pavel Yaskevich
3b54fdb7f6 [TypeChecker] NFC: Add a test-case for expression affected by rdar://61749633 2021-05-04 14:58:41 -07:00
Pavel Yaskevich
0e9c33e47f [Sema] Suppress concurrency related diagnostics for invalid AST nodes
Expressions that failed type-check can't be correctly analyzed by
effects checker due to missing type and overload choice information.

Resolves: rdar://76475495
2021-05-04 14:25:07 -07:00
Mike Ash
2d01be6ad8 [Test] Fix Runtime/protocol_conformance_collision.swift on 11.3+.
This test checks the OS version to decide how to operate but that check isn't right. Revert to a fake future version.

rdar://77389722
2021-05-04 15:28:12 -04:00
Xi Ge
a40f22eb94 ClangImporter: check version specified in canImport with the project version specified in .tbd files
Project versions are embedded in the .tbd files of Clang frameworks. This patch teaches the compiler
to check the desired version specified in `canImport` against the project version in .tbd file. The
condition returns true if the Clang module on disk has a version number greater or equal to the one from `canImport`
condition; it returns false otherwise.

Part of rdar://73992299
2021-05-04 12:23:28 -07:00
Pavel Yaskevich
c842773450 [Diagnostics] Re-phrase note about inferred async effect from an operation in a closure body 2021-05-04 10:09:03 -07:00
Michael Gottesman
617a0279fc Merge pull request #37208 from gottesmm/canonicalize-ossa-lifetimes-sil-combine
[sil-combine] Use canonicalizeOSSALifetimes to eliminate unnecessary copies inserted due to RAUWing
2021-05-04 09:52:31 -07:00
Victoria Mitchell
d81d5d56d9 add sourceOrigin even if no docs exist
rdar://77205889
2021-05-04 10:47:13 -06:00
Alex Hoppen
7462a62b37 Merge pull request #37238 from ahoppen/pr/dont-print-dollar-internal-labels
[AST] Don’t print internal function labels if they start with '$'
2021-05-04 18:34:20 +02:00
Alex Hoppen
e835b77956 Merge pull request #37185 from ahoppen/pr/legacy-async-method-refactor
[Refactoring] When adding an async alternative refactor the old method to call the async method using `async`
2021-05-04 18:33:25 +02:00
Joe Groff
ecc46a809e Sleep to give new test completion handler a chance to run 2021-05-04 09:25:08 -07:00
Slava Pestov
8b59e13414 Merge pull request #37233 from slavapestov/unavailable-conformance-fix
Sema: Allow unavailable conformances to be referenced from unavailable contexts
2021-05-04 12:15:40 -04:00
Hamish Knight
2d750747c2 [Refactoring] [test] Use more strict matching on returns and breaks
Make sure we match against an exact return or
break in these cases, rather than a placeholder.
2021-05-04 14:30:24 +01:00
Hamish Knight
f5acd137e8 [Refactoring] Replace lifted breaks/returns with placeholders
If we're lifting them outside of the control flow
structure they're dealing with, turn them into
placeholders, as they will no longer perform the
control flow the user is expecting.

This handles:
- Return statements at the top-level of the callback.
- Break statements in switches that we re-write.

Resolves rdar://74014897.
2021-05-04 14:30:23 +01:00
Hamish Knight
8a052394aa [Refactoring] Don't transform unrelated switches
We were missing a `return` here to ignore any
switch statements that don't have anything to do
with the error handling.
2021-05-04 14:30:23 +01:00
Alex Hoppen
6095053fe1 [libSyntax] Explicitly return 0 as length of missing deferred tokens
Previously, we were always accessing the `DeferredTokenNode`’s `Range`, which is not valid if the token is missing, thus causing an assertion failure when asked for its length.

Fixes rdar://77391988 [SR-14552]
2021-05-04 15:00:44 +02:00
Alex Hoppen
66e416b604 [AST] Don’t print internal function labels if they start with '$'
We might infer internal function labels as `$0` from a closure with which a variable is initialised. But we don’t want to print the function signature as `(_ $0: Int) -> Int` because `$0` is not a valid variable name to declare.

So, in the case described above, only print the type.

Fixes rdar://77462547
2021-05-04 12:42:58 +02:00
Alex Hoppen
98e6680c85 [Refactoring] When adding an async alternative refactor the old method to call the async method using detach
Instead of leaving two copies of the same implementation, rewrite the old method with the completion handler to call the newly added `async` method.

Resolves rdar://74464833
2021-05-04 12:06:27 +02:00
Ben Barham
f9859a545f Merge pull request #37196 from bnbarham/warn-on-invalid-sourceinfo
[Serialization] Add warning when .swiftsourceinfo is malformed
2021-05-04 16:16:49 +10:00
Slava Pestov
daceb1677a Sema: Allow unavailable conformances to be referenced from unavailable contexts
Relaxes the conformance availability check to match the Swift 5.3 behavior
with unavailable types.

Fixes rdar://problem/75430966.
2021-05-03 23:40:46 -04:00
Mishal Shah
1263da107b Merge pull request #37223 from aschwaighofer/xfail_concurrency_throwing_windows
XFAIL: test/Concurrency/throwing.swift on windows
2021-05-03 20:26:43 -07:00
Yuta Saito
f2fe95e72a Relax test case requirements for static-stdlib-autolink-linux.swift 2021-05-04 02:08:56 +00:00
adrian-prantl
43c5d8954b Merge pull request #37155 from adrian-prantl/75905336-1
Allow functions marked @LLDBDebuggerFunction to bypass actor isolatio…
2021-05-03 18:51:00 -07:00
Xi Ge
c40a083164 Merge pull request #37219 from nkcsgexi/73992299-4
ModuleLoader: teach canImport to check Swift user module versions
2021-05-03 18:01:56 -07:00
Clack Cole
f45acf7c1b Use Apple TV as tvOS device simulator
Updates lit.cfg to use 'Apple TV' as the device simulator when
running tvOS simulator tests.
2021-05-03 18:45:34 -06:00
swift-ci
424c86ee40 Merge pull request #37225 from kavon/enable-eff-props 2021-05-03 17:23:57 -07:00
Ben Barham
415452e259 Merge pull request #37145 from bnbarham/add-external-locs
Add locations from external modules to cursor info results
2021-05-04 09:49:23 +10:00
Joe Groff
acac14e757 SILGen: Copy the block before detaching a task for async methods called from ObjC.
The block needs to survive long enough for the task to get scheduled. Fixes rdar://76871310.
2021-05-03 15:31:22 -07:00
Kavon Farvardin
e17e09c294 Enable effectful properties (SE-310) by default.
1. Removes gating on -enable-experimental-concurrency.
2. Updates eff. prop tests to remove experimental flag,
   and also adjusts some tests slightly to avoid things
   that are still behind that flag.
2021-05-03 14:10:44 -07:00
Xi Ge
8fa2e8a03d ModuleLoader: teach canImport to check Swift user module versions
For config condition `canImport(Foo, version: N)`, this patch teaches the compiler to check N
against the version of the Swift module Foo on disk. It returns true if the module version on
disk is greater or equal to N and returns false otherwise.

Part of rdar://73992299
2021-05-03 14:04:01 -07:00
Arnold Schwaighofer
2240f7ffbc XFAIL: test/Concurrency/throwing.swift on windows 2021-05-03 13:51:45 -07:00
Arnold Schwaighofer
6696bcf5b2 IRGen: Fix the insert point after inserting the dynamic replacement prolog
The code used the last basic block in the function instead of the last
basic block created for the dynamic replacement prolog.

rdar://77073666
2021-05-03 11:47:13 -07:00