mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
This macro applies always_inline in addition to inline. It also applies artificial, which lets debugger know that this is an artificial function. The used attribute is added in debug builds to ensure that the symbol is emitted in the binary so that LLDB can invoke it.
15 lines
747 B
Swift
15 lines
747 B
Swift
// RUN: %empty-directory(%t)
|
|
// RUN: %target-swift-frontend %s -typecheck -module-name Functions -clang-header-expose-decls=all-public -emit-clang-header-path %t/functions.h
|
|
// RUN: %FileCheck %s < %t/functions.h
|
|
|
|
// RUN: %check-interop-cxx-header-in-clang(%t/functions.h)
|
|
|
|
// CHECK: SWIFT_EXTERN ptrdiff_t $s9Functions24transparentPrimitiveFuncyS2iF(ptrdiff_t x) SWIFT_NOEXCEPT SWIFT_CALL; // transparentPrimitiveFunc(_:)
|
|
|
|
// CHECK: SWIFT_INLINE_THUNK swift::Int transparentPrimitiveFunc(swift::Int x) noexcept SWIFT_SYMBOL({{.*}}) SWIFT_WARN_UNUSED_RESULT {
|
|
// CHECK-NEXT: return _impl::$s9Functions24transparentPrimitiveFuncyS2iF(x);
|
|
// CHECK-NEXT: }
|
|
|
|
@_transparent
|
|
public func transparentPrimitiveFunc(_ x: Int) -> Int { return x * x }
|