mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
On Windows ARM64, how a struct value type is returned is sensitive to conditions including whether a user-defined constructor exists, etc. See https://learn.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions?view=msvc-170#return-values That caused a calling convention mismatch between the non-USED_IN_CPP_SOURCE (Swift) side and the USE_IN_CPP_SOURCE (C++) side and a crash. Add this constructor so that the calling convention matches. This is a fix for the OnoneSimplification crash in https://github.com/swiftlang/swift/issues/74866#issuecomment-2319618579 and is a partial fix for https://github.com/swiftlang/swift/issues/74866#issuecomment-2319618579
22 lines
313 B
Plaintext
22 lines
313 B
Plaintext
module Methods {
|
|
header "methods.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module AmbiguousMethods {
|
|
header "ambiguous_methods.h"
|
|
requires cplusplus
|
|
}
|
|
|
|
module UnsafeProjections {
|
|
header "unsafe-projections.h"
|
|
requires cplusplus
|
|
|
|
export *
|
|
}
|
|
|
|
module SRetWinARM64 {
|
|
header "sret-win-arm64.h"
|
|
requires cplusplus
|
|
}
|