mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Honor the swift_error attribute during import.
Add a new convention to describe what happens with nonzero_result on a type that isn't imported as Bool. This isn't really a safe convention to implement, but calls are fine. Implements <rdar://21715350>. Swift SVN r29953
This commit is contained in:
@@ -4004,6 +4004,8 @@ decodeRawStableForeignErrorConventionKind(uint8_t kind) {
|
||||
return ForeignErrorConvention::ZeroResult;
|
||||
case static_cast<uint8_t>(ForeignErrorConventionKind::NonZeroResult):
|
||||
return ForeignErrorConvention::NonZeroResult;
|
||||
case static_cast<uint8_t>(ForeignErrorConventionKind::ZeroPreservedResult):
|
||||
return ForeignErrorConvention::ZeroPreservedResult;
|
||||
case static_cast<uint8_t>(ForeignErrorConventionKind::NilResult):
|
||||
return ForeignErrorConvention::NilResult;
|
||||
case static_cast<uint8_t>(ForeignErrorConventionKind::NonNilError):
|
||||
@@ -4080,6 +4082,11 @@ Optional<ForeignErrorConvention> ModuleFile::maybeReadForeignErrorConvention() {
|
||||
canErrorParameterType,
|
||||
canResultType);
|
||||
|
||||
case ForeignErrorConvention::ZeroPreservedResult:
|
||||
return ForeignErrorConvention::getZeroPreservedResult(errorParameterIndex,
|
||||
owned, replaced,
|
||||
canErrorParameterType);
|
||||
|
||||
case ForeignErrorConvention::NilResult:
|
||||
return ForeignErrorConvention::getNilResult(errorParameterIndex,
|
||||
owned, replaced,
|
||||
|
||||
Reference in New Issue
Block a user