Skip to content

Commit 4931362

Browse files
authored
Merge pull request #17815 from gottesmm/pr-861b0b35b2be7673bc8ea0c903f50247d1bc502b
[+0-all-args] Clean up remains of +1 convention from the runtime.
2 parents 1845ed6 + 5648ef2 commit 4931362

File tree

15 files changed

+19
-83
lines changed

15 files changed

+19
-83
lines changed

include/swift/Runtime/Config.h

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -206,16 +206,4 @@
206206
// so changing this value is not sufficient.
207207
#define SWIFT_DEFAULT_LLVM_CC llvm::CallingConv::C
208208

209-
// These are temporary macros during the +0 cc exploration to cleanly support
210-
// both +0 and +1 in the runtime.
211-
#ifndef SWIFT_RUNTIME_ENABLE_GUARANTEED_NORMAL_ARGUMENTS
212-
#define SWIFT_NS_RELEASES_ARGUMENT NS_RELEASES_ARGUMENT
213-
#define SWIFT_CC_PLUSONE_GUARD(...) do { __VA_ARGS__ ; } while (0)
214-
#define SWIFT_CC_PLUSZERO_GUARD(...)
215-
#else
216-
#define SWIFT_NS_RELEASES_ARGUMENT
217-
#define SWIFT_CC_PLUSONE_GUARD(...)
218-
#define SWIFT_CC_PLUSZERO_GUARD(...) do { __VA_ARGS__ ; } while (0)
219-
#endif
220-
221209
#endif // SWIFT_RUNTIME_CONFIG_H

stdlib/CMakeLists.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,6 @@ endif()
3636
# we get link failures regardless, so instead, this just disables the checks.
3737
append("-DLLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING=1" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
3838

39-
if(SWIFT_ENABLE_GUARANTEED_NORMAL_ARGUMENTS)
40-
append("-DSWIFT_RUNTIME_ENABLE_GUARANTEED_NORMAL_ARGUMENTS=1" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
41-
endif()
42-
4339
set(SWIFT_STDLIB_LIBRARY_BUILD_TYPES)
4440
if(SWIFT_BUILD_DYNAMIC_STDLIB)
4541
list(APPEND SWIFT_STDLIB_LIBRARY_BUILD_TYPES SHARED)

stdlib/private/StdlibUnittest/InspectValue.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ uint32_t getMetadataKindOf(
2020
OpaqueValue *value,
2121
const Metadata *type
2222
) {
23-
auto result = uint32_t(type->getKind());
24-
SWIFT_CC_PLUSONE_GUARD(type->vw_destroy(value));
25-
return result;
23+
return uint32_t(type->getKind());
2624
}
2725

stdlib/private/StdlibUnittestFoundationExtras/UnavailableFoundationMethodThunks.mm

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,10 @@
1515

1616
SWIFT_CC(swift) SWIFT_RUNTIME_LIBRARY_VISIBILITY
1717
extern "C" void
18-
NSArray_getObjects(NSArray SWIFT_NS_RELEASES_ARGUMENT *_Nonnull nsArray,
18+
NSArray_getObjects(NSArray *_Nonnull nsArray,
1919
id *objects, NSUInteger rangeLocation,
2020
NSUInteger rangeLength) {
2121
[nsArray getObjects:objects range:NSMakeRange(rangeLocation, rangeLength)];
22-
SWIFT_CC_PLUSONE_GUARD([nsArray release]);
2322
}
2423

2524
SWIFT_CC(swift) SWIFT_RUNTIME_LIBRARY_VISIBILITY
@@ -28,6 +27,5 @@
2827
id *objects, id *keys,
2928
NSInteger count) {
3029
[nsDictionary getObjects:objects andKeys:keys count:count];
31-
SWIFT_CC_PLUSONE_GUARD([nsDictionary release]);
3230
}
3331

stdlib/public/SDK/Foundation/DataThunks.m

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,6 @@ BOOL __NSDataWriteToURL(NSData * _Nonnull data NS_RELEASES_ARGUMENT, NSURL * _No
120120

121121
if (![path getFileSystemRepresentation:cpath maxLength:1024]) {
122122
if (errorPtr) *errorPtr = _NSErrorWithFilePath(NSFileWriteInvalidFileNameError, path);
123-
SWIFT_CC_PLUSONE_GUARD([data release]);
124-
SWIFT_CC_PLUSONE_GUARD([url release]);
125123
return NO;
126124
}
127125

@@ -137,8 +135,6 @@ BOOL __NSDataWriteToURL(NSData * _Nonnull data NS_RELEASES_ARGUMENT, NSURL * _No
137135
int32_t fd = _NSOpenFileDescriptor(cpath, flags, protectionClass, 0666);
138136
if (fd < 0) {
139137
if (errorPtr) *errorPtr = _NSErrorWithFilePathAndErrno(errno, path, NO);
140-
SWIFT_CC_PLUSONE_GUARD([url release]);
141-
SWIFT_CC_PLUSONE_GUARD([data release]);
142138
return NO;
143139
}
144140

@@ -172,12 +168,8 @@ BOOL __NSDataWriteToURL(NSData * _Nonnull data NS_RELEASES_ARGUMENT, NSURL * _No
172168
if (errorPtr) {
173169
*errorPtr = _NSErrorWithFilePathAndErrno(errno, path, NO);
174170
}
175-
SWIFT_CC_PLUSONE_GUARD([url release]);
176-
SWIFT_CC_PLUSONE_GUARD([data release]);
177171
return NO;
178172
}
179173
close(fd);
180-
SWIFT_CC_PLUSONE_GUARD([url release]);
181-
SWIFT_CC_PLUSONE_GUARD([data release]);
182174
return YES;
183175
}

stdlib/public/SDK/Foundation/TypePreservingNSNumber.mm

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -317,29 +317,27 @@ - (Class)classForCoder {
317317

318318
SWIFT_CC(swift) extern "C" uint8_t
319319
_swift_Foundation_TypePreservingNSNumberGetKind(
320-
NSNumber *SWIFT_NS_RELEASES_ARGUMENT _Nonnull self_) {
320+
NSNumber *_Nonnull self_) {
321321
uint8_t result = NonSwift;
322322
if ([self_ isKindOfClass:
323323
SWIFT_LAZY_CONSTANT([_SwiftTypePreservingNSNumber class])]) {
324324
result = ((_SwiftTypePreservingNSNumber *) self_)->tag;
325325
} else if (CFGetTypeID(self_) == CFBooleanGetTypeID()) {
326326
result = SwiftBool;
327327
}
328-
SWIFT_CC_PLUSONE_GUARD([self_ release]);
329328
return result;
330329
}
331330

332331
#define DEFINE_GETTER(C_TYPE, FUNCTION_NAME) \
333332
SWIFT_CC(swift) extern "C" C_TYPE \
334333
_swift_Foundation_TypePreservingNSNumberGetAs ## FUNCTION_NAME( \
335-
_SwiftTypePreservingNSNumber *SWIFT_NS_RELEASES_ARGUMENT _Nonnull self_) { \
334+
_SwiftTypePreservingNSNumber *_Nonnull self_) { \
336335
if (self_->tag != Swift ## FUNCTION_NAME) { \
337336
swift::swift_reportError( \
338337
/* flags = */ 0, "Incorrect tag.\n"); \
339338
} \
340339
C_TYPE result; \
341340
memcpy(&result, self_->storage, sizeof(result)); \
342-
SWIFT_CC_PLUSONE_GUARD([self_ release]); \
343341
return result; \
344342
}
345343

stdlib/public/runtime/AnyHashableSupport.cpp

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -161,27 +161,9 @@ void _swift_makeAnyHashableUpcastingToHashableBaseType(
161161

162162
if (auto unboxedHashableWT =
163163
swift_conformsToProtocol(unboxedType, &HashableProtocolDescriptor)) {
164-
#ifndef SWIFT_RUNTIME_ENABLE_GUARANTEED_NORMAL_ARGUMENTS
165-
ValueBuffer unboxedCopyBuf;
166-
// Allocate buffer.
167-
OpaqueValue *unboxedValueCopy =
168-
unboxedType->allocateBufferIn(&unboxedCopyBuf);
169-
// initWithCopy.
170-
unboxedType->vw_initializeWithCopy(
171-
unboxedValueCopy, const_cast<OpaqueValue *>(unboxedValue));
172-
173-
_swift_makeAnyHashableUpcastingToHashableBaseType(
174-
unboxedValueCopy, anyHashableResultPointer, unboxedType,
175-
unboxedHashableWT);
176-
177-
// Deallocate buffer.
178-
unboxedType->deallocateBufferIn(&unboxedCopyBuf);
179-
type->vw_destroy(value);
180-
#else
181164
_swift_makeAnyHashableUpcastingToHashableBaseType(
182165
const_cast<OpaqueValue *>(unboxedValue), anyHashableResultPointer,
183166
unboxedType, unboxedHashableWT);
184-
#endif
185167
return;
186168
}
187169
}

stdlib/public/runtime/Casting.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2701,7 +2701,7 @@ static bool _dynamicCastClassToValueViaObjCBridgeable(
27012701
(HeapObject *)srcObject, (OpaqueValue *)optDestBuffer,
27022702
targetType, targetType, targetBridgeWitness);
27032703
}
2704-
SWIFT_CC_PLUSZERO_GUARD(swift_unknownRelease(srcObject));
2704+
swift_unknownRelease(srcObject);
27052705

27062706
// If we succeeded, take from the optional buffer into the
27072707
// destination buffer.
@@ -3016,7 +3016,6 @@ _bridgeNonVerbatimFromObjectiveCConditional(
30163016

30173017
// Local function that releases the source and returns false.
30183018
auto fail = [&] () -> bool {
3019-
SWIFT_CC_PLUSONE_GUARD(swift_unknownRelease(sourceValue));
30203019
return false;
30213020
};
30223021

stdlib/public/runtime/ErrorDefaultImpls.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,5 @@ intptr_t _swift_stdlib_getDefaultErrorCode(OpaqueValue *error,
3737
break;
3838
}
3939

40-
// Destroy the value.
41-
SWIFT_CC_PLUSONE_GUARD(T->vw_destroy(error));
4240
return result;
4341
}

stdlib/public/runtime/ErrorObject.mm

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,6 @@ NSInteger getErrorCode(const OpaqueValue *error,
385385
// -> AnyObject?
386386
auto foundationGetDefaultUserInfo = getErrorBridgingInfo().GetErrorDefaultUserInfo;
387387
if (!foundationGetDefaultUserInfo) {
388-
SWIFT_CC_PLUSONE_GUARD(T->vw_destroy(error));
389388
return nullptr;
390389
}
391390

stdlib/public/runtime/ReflectionMirror.mm

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,6 @@ auto call(OpaqueValue *passedValue, const Metadata *T, const Metadata *passedTyp
558558
impl->type = type;
559559
impl->value = value;
560560
auto result = f(impl);
561-
SWIFT_CC_PLUSONE_GUARD(T->vw_destroy(passedValue));
562561
return result;
563562
};
564563

stdlib/public/runtime/SwiftObject.mm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ static Class _swift_getObjCClassOfAllocated(const void *object) {
183183

184184
NSString *swift::getDescription(OpaqueValue *value, const Metadata *type) {
185185
auto result = swift_stdlib_getDescription(value, type);
186-
SWIFT_CC_PLUSZERO_GUARD(type->vw_destroy(value));
186+
type->vw_destroy(value);
187187
return [result autorelease];
188188
}
189189

stdlib/public/stubs/Reflection.mm

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,9 @@
1818
SWIFT_CC(swift)
1919
SWIFT_RUNTIME_STDLIB_INTERFACE
2020
bool _swift_stdlib_NSObject_isKindOfClass(
21-
id SWIFT_NS_RELEASES_ARGUMENT _Nonnull object,
22-
NSString *SWIFT_NS_RELEASES_ARGUMENT _Nonnull className) {
23-
bool result = [object isKindOfClass:NSClassFromString(className)];
24-
SWIFT_CC_PLUSONE_GUARD([object release]);
25-
SWIFT_CC_PLUSONE_GUARD([className release]);
26-
27-
return result;
21+
id _Nonnull object,
22+
NSString * _Nonnull className) {
23+
return [object isKindOfClass:NSClassFromString(className)];
2824
}
2925
#endif
3026

stdlib/public/stubs/SwiftNativeNSXXXBase.mm.gyb

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -104,23 +104,17 @@ SWIFT_RUNTIME_STDLIB_INTERFACE
104104

105105
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
106106
bool
107-
swift_stdlib_NSObject_isEqual(NSObject *SWIFT_NS_RELEASES_ARGUMENT lhs,
108-
NSObject *SWIFT_NS_RELEASES_ARGUMENT rhs) {
109-
bool Result = (lhs == rhs) || [lhs isEqual:rhs];
110-
SWIFT_CC_PLUSONE_GUARD(swift_unknownRelease(lhs));
111-
SWIFT_CC_PLUSONE_GUARD(swift_unknownRelease(rhs));
112-
return Result;
107+
swift_stdlib_NSObject_isEqual(NSObject *lhs,
108+
NSObject *rhs) {
109+
return (lhs == rhs) || [lhs isEqual:rhs];
113110
}
114111

115112
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERFACE
116113
int32_t swift_stdlib_compareNSStringDeterministicUnicodeCollation(
117-
NSString *SWIFT_NS_RELEASES_ARGUMENT lhs, NSString *SWIFT_NS_RELEASES_ARGUMENT rhs) {
114+
NSString *lhs, NSString *rhs) {
118115
// 'kCFCompareNonliteral' actually means "normalize to NFD".
119-
int Result = CFStringCompare((__bridge CFStringRef)lhs,
120-
(__bridge CFStringRef)rhs, kCFCompareNonliteral);
121-
SWIFT_CC_PLUSONE_GUARD(swift_unknownRelease(lhs));
122-
SWIFT_CC_PLUSONE_GUARD(swift_unknownRelease(rhs));
123-
return Result;
116+
return CFStringCompare((__bridge CFStringRef)lhs,
117+
(__bridge CFStringRef)rhs, kCFCompareNonliteral);
124118
}
125119

126120
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERFACE
@@ -145,10 +139,9 @@ swift_stdlib_CFStringHashCString(const uint8_t *bytes, CFIndex len) {
145139
}
146140

147141
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERNAL
148-
void swift_stdlib_CFSetGetValues(NSSet *SWIFT_NS_RELEASES_ARGUMENT set,
142+
void swift_stdlib_CFSetGetValues(NSSet *set,
149143
const void **values) {
150144
CFSetGetValues((__bridge CFSetRef)set, values);
151-
SWIFT_CC_PLUSONE_GUARD(swift_unknownRelease(set));
152145
}
153146
#endif
154147

stdlib/public/stubs/SwiftNativeNSXXXBaseARC.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
#endif
5050

5151
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERFACE
52-
size_t swift_stdlib_NSStringHashValue(NSString *SWIFT_NS_RELEASES_ARGUMENT str,
52+
size_t swift_stdlib_NSStringHashValue(NSString *str,
5353
bool isASCII) {
5454
AUTORELEASEPOOL {
5555
return isASCII ? str.hash : str.decomposedStringWithCanonicalMapping.hash;
@@ -68,15 +68,15 @@ size_t swift_stdlib_NSStringHashValue(NSString *SWIFT_NS_RELEASES_ARGUMENT str,
6868

6969
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERFACE
7070
NS_RETURNS_RETAINED NSString *
71-
swift_stdlib_NSStringLowercaseString(NSString *SWIFT_NS_RELEASES_ARGUMENT str) {
71+
swift_stdlib_NSStringLowercaseString(NSString *str) {
7272
AUTORELEASEPOOL {
7373
return str.lowercaseString;
7474
}
7575
}
7676

7777
SWIFT_CC(swift) SWIFT_RUNTIME_STDLIB_INTERFACE
7878
NS_RETURNS_RETAINED NSString *
79-
swift_stdlib_NSStringUppercaseString(NSString *SWIFT_NS_RELEASES_ARGUMENT str) {
79+
swift_stdlib_NSStringUppercaseString(NSString *str) {
8080
AUTORELEASEPOOL {
8181
return str.uppercaseString;
8282
}

0 commit comments

Comments
 (0)