Files
swift-mirror/test/Interpreter/SDK/autorelease.swift
Ted Kremenek fad874708e Adjust test cases.
Swift SVN r17964
2014-05-12 22:01:52 +00:00

34 lines
888 B
Swift

// RUN: %target-run-simple-swift foo | FileCheck %s
// The Objective-C runtime does not implement the autorelease
// optimization on i386, even in the iOS simulator.
// XFAIL: CPU=i386
import Foundation
class PrintOnDeinit: NSObject {
// Result should get autoreleased.
@objc class func create() -> PrintOnDeinit {
return PrintOnDeinit()
}
deinit { println("object died") }
}
func useTemp() {
let f = PrintOnDeinit.create()
}
// objc_retainAutoreleasedReturnValue will fail to reclaim the first
// object autoreleased from each shared object on x86-64, so prime it.
autoreleasepool { useTemp() }
autoreleasepool {
println("autorelease test begin")
useTemp()
println("after call to useTemp")
}
println("autorelease test end")
// CHECK: autorelease test begin
// CHECK-NEXT: object died
// CHECK-NEXT: after call to useTemp
// CHECK-NEXT: autorelease test end