Files
swift-mirror/test/SILGen/cdecl.swift
Michael Gottesman 20c3e1e92f [semantic-sil] Update 45 SILGen tests for ownership.
Very roughly this increases the total coverage of SILGen tests with ownership
enabled to ~20%.

rdar://33358110
2017-08-20 19:11:55 -07:00

44 lines
1.3 KiB
Swift

// RUN: %target-swift-frontend -emit-silgen -enable-sil-ownership %s | %FileCheck %s
// CHECK-LABEL: sil hidden [thunk] @pear : $@convention(c)
// CHECK: function_ref @_T05cdecl5apple{{[_0-9a-zA-Z]*}}F
// CHECK-LABEL: sil hidden @_T05cdecl5apple{{[_0-9a-zA-Z]*}}F
@_cdecl("pear")
func apple(_ f: @convention(c) (Int) -> Int) {
}
// CHECK-LABEL: sil hidden @_T05cdecl16forceCEntryPoint{{[_0-9a-zA-Z]*}}F
// CHECK: function_ref @grapefruit
func forceCEntryPoint() {
apple(orange)
}
// CHECK-LABEL: sil hidden [thunk] @grapefruit : $@convention(c)
// CHECK: function_ref @_T05cdecl6orange{{[_0-9a-zA-Z]*}}F
// CHECK-LABEL: sil hidden @_T05cdecl6orange{{[_0-9a-zA-Z]*}}F
@_cdecl("grapefruit")
func orange(_ x: Int) -> Int {
return x
}
// CHECK-LABEL: sil [thunk] @cauliflower : $@convention(c)
// CHECK: function_ref @_T05cdecl8broccoli{{[_0-9a-zA-Z]*}}F
// CHECK-LABEL: sil @_T05cdecl8broccoli{{[_0-9a-zA-Z]*}}F
@_cdecl("cauliflower")
public func broccoli(_ x: Int) -> Int {
return x
}
// CHECK-LABEL: sil private [thunk] @collard_greens : $@convention(c)
// CHECK: function_ref @_T05cdecl4kale[[PRIVATE:.*]]
// CHECK: sil private @_T05cdecl4kale[[PRIVATE:.*]]
@_cdecl("collard_greens")
private func kale(_ x: Int) -> Int {
return x
}
/* TODO: Handle error conventions
@_cdecl("vomits")
func barfs() throws {}
*/