[TBDGen] Use effective linkage for class member async function pointers.

Previously, the "bare" linkage of a link entity was used to determine
whether to put an async function pointer into the tbd.  That did not
match the mechanism by which the linkage was determined in IRGen.
There, the linkage is the "_effective_" linkage (i.e. the value returned
from SILFunction::getEffectiveSymbolLinkage).

Here, whether to put the async function pointer corresponding to a class
method is determined on the basis of that effective linkage.

rdar://problem/73203508
This commit is contained in:
Nate Chandler
2021-01-14 14:21:02 -08:00
parent 7fada0aa27
commit 2e880af6a0
5 changed files with 77 additions and 1 deletions

View File

@@ -5,3 +5,9 @@
@asyncHandler
public func testit() { }
// CHECK: @"$s4test1CC1f33_295642D23064661A21CD592AD781409CLLyyYFTu" = global %swift.async_func_pointer
open class C {
private func f() async { }
}