mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
IRGen: repair the IRGen on Windows
The cross-module reference must be indirected through the moral equivalent of the GOT - the IAT. This indirects through the import address table, permitting the pointer to be resolved.
This commit is contained in:
@@ -899,9 +899,8 @@ llvm::Constant *swift::getRuntimeFn(llvm::Module &Module,
|
|||||||
}
|
}
|
||||||
|
|
||||||
llvm::Constant *IRGenModule::getDeletedAsyncMethodErrorAsyncFunctionPointer() {
|
llvm::Constant *IRGenModule::getDeletedAsyncMethodErrorAsyncFunctionPointer() {
|
||||||
return getAddrOfLLVMVariable(
|
return getAddrOfLLVMVariableOrGOTEquivalent(
|
||||||
LinkEntity::forKnownAsyncFunctionPointer("swift_deletedAsyncMethodError"),
|
LinkEntity::forKnownAsyncFunctionPointer("swift_deletedAsyncMethodError")).getValue();
|
||||||
ConstantInit(), DebugTypeInfo());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#define QUOTE(...) __VA_ARGS__
|
#define QUOTE(...) __VA_ARGS__
|
||||||
|
|||||||
Reference in New Issue
Block a user