mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
[Runtime] Add destructiveInjectEnumTag support for generic single payload enums with layout strings
This commit is contained in:
@@ -2333,7 +2333,7 @@ FUNCTION(SingletonEnumGetEnumTag,
|
||||
C_CC, AlwaysAvailable,
|
||||
RETURNS(Int32Ty),
|
||||
ARGS(Int8PtrTy, TypeMetadataPtrTy),
|
||||
ATTRS(NoUnwind),
|
||||
ATTRS(NoUnwind, WillReturn),
|
||||
EFFECT(NoEffect))
|
||||
|
||||
// unsigned swift_enumSimple_getEnumTag(swift::OpaqueValue *address,
|
||||
@@ -2343,7 +2343,7 @@ FUNCTION(EnumSimpleGetEnumTag,
|
||||
C_CC, AlwaysAvailable,
|
||||
RETURNS(Int32Ty),
|
||||
ARGS(Int8PtrTy, TypeMetadataPtrTy),
|
||||
ATTRS(NoUnwind),
|
||||
ATTRS(NoUnwind, WillReturn),
|
||||
EFFECT(NoEffect))
|
||||
|
||||
// unsigned swift_enumFn_getEnumTag(swift::OpaqueValue *address,
|
||||
@@ -2353,7 +2353,7 @@ FUNCTION(EnumFnGetEnumTag,
|
||||
C_CC, AlwaysAvailable,
|
||||
RETURNS(Int32Ty),
|
||||
ARGS(Int8PtrTy, TypeMetadataPtrTy),
|
||||
ATTRS(NoUnwind),
|
||||
ATTRS(NoUnwind, WillReturn),
|
||||
EFFECT(NoEffect))
|
||||
|
||||
// unsigned swift_multiPayloadEnumGeneric_getEnumTag(opaque* address,
|
||||
@@ -2363,7 +2363,7 @@ FUNCTION(MultiPayloadEnumGenericGetEnumTag,
|
||||
C_CC, AlwaysAvailable,
|
||||
RETURNS(Int32Ty),
|
||||
ARGS(Int8PtrTy, TypeMetadataPtrTy),
|
||||
ATTRS(NoUnwind),
|
||||
ATTRS(NoUnwind, WillReturn),
|
||||
EFFECT(NoEffect))
|
||||
|
||||
// unsigned swift_singlePayloadEnumGeneric_getEnumTag(swift::OpaqueValue *address,
|
||||
@@ -2373,7 +2373,18 @@ FUNCTION(SinglePayloadEnumGenericGetEnumTag,
|
||||
C_CC, AlwaysAvailable,
|
||||
RETURNS(Int32Ty),
|
||||
ARGS(Int8PtrTy, TypeMetadataPtrTy),
|
||||
ATTRS(NoUnwind),
|
||||
ATTRS(NoUnwind, WillReturn),
|
||||
EFFECT(NoEffect))
|
||||
|
||||
// void swift_singlePayloadEnumGeneric_destructiveInjectEnumTag(swift::OpaqueValue *address,
|
||||
// unsigned tag,
|
||||
// const Metadata *metadata)
|
||||
FUNCTION(SinglePayloadEnumGenericDestructiveInjectEnumTag,
|
||||
swift_singlePayloadEnumGeneric_destructiveInjectEnumTag,
|
||||
C_CC, AlwaysAvailable,
|
||||
RETURNS(VoidTy),
|
||||
ARGS(Int8PtrTy, Int32Ty, TypeMetadataPtrTy),
|
||||
ATTRS(NoUnwind, WillReturn),
|
||||
EFFECT(NoEffect))
|
||||
|
||||
// void swift_generic_instantiateLayoutString(const uint8_t* layoutStr,
|
||||
|
||||
Reference in New Issue
Block a user