@@ -63,6 +63,7 @@ protocol _CVarArgAligned: CVarArg {
63
63
var _cVarArgAlignment : Int { get }
64
64
}
65
65
66
+ #if !_runtime(_ObjC)
66
67
/// Some pointers require an alternate object to be retained. The object
67
68
/// that is returned will be used with _cVarArgEncoding and held until
68
69
/// the closure is complete. This is required since autoreleased storage
@@ -71,6 +72,7 @@ public protocol _CVarArgObject: CVarArg {
71
72
/// Returns the alternate object that should be encoded.
72
73
var _cVarArgObject : CVarArg { get }
73
74
}
75
+ #endif
74
76
75
77
#if arch(x86_64)
76
78
@usableFromInline
@@ -471,8 +473,10 @@ final internal class __VaListBuilder {
471
473
@usableFromInline // c-abi
472
474
internal var storage : ContiguousArray < Int >
473
475
476
+ #if !_runtime(_ObjC)
474
477
@usableFromInline // c-abi
475
478
internal var retainer = [ CVarArg] ( )
479
+ #endif
476
480
477
481
@inlinable // c-abi
478
482
internal init ( ) {
@@ -487,11 +491,13 @@ final internal class __VaListBuilder {
487
491
internal func append( _ arg: CVarArg ) {
488
492
var arg = arg
489
493
494
+ #if !_runtime(_ObjC)
490
495
// We may need to retain an object that provides a pointer value.
491
496
if let obj = arg as? _CVarArgObject {
492
497
arg = obj. _cVarArgObject
493
498
retainer. append ( arg)
494
499
}
500
+ #endif
495
501
496
502
var encoded = arg. _cVarArgEncoding
497
503
@@ -582,11 +588,13 @@ final internal class __VaListBuilder {
582
588
internal func append( _ arg: CVarArg ) {
583
589
var arg = arg
584
590
591
+ #if !_runtime(_ObjC)
585
592
// We may need to retain an object that provides a pointer value.
586
593
if let obj = arg as? _CVarArgObject {
587
594
arg = obj. _cVarArgObject
588
595
retainer. append ( arg)
589
596
}
597
+ #endif
590
598
591
599
// Write alignment padding if necessary.
592
600
// This is needed on architectures where the ABI alignment of some
@@ -693,8 +701,10 @@ final internal class __VaListBuilder {
693
701
@usableFromInline // c-abi
694
702
internal var storage : UnsafeMutablePointer < Int > ?
695
703
704
+ #if !_runtime(_ObjC)
696
705
@usableFromInline // c-abi
697
706
internal var retainer = [ CVarArg] ( )
707
+ #endif
698
708
699
709
internal static var alignedStorageForEmptyVaLists : Double = 0
700
710
}
0 commit comments