Skip to content

Commit eeaba69

Browse files
committed
[interop][SwiftToCxx] use 'nodebug' instead of articial for interop thunks
a combination of always_inline and nodebug allows LLDB to skip over thunks
1 parent 7caf34c commit eeaba69

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

lib/PrintAsClang/_SwiftCxxInteroperability.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,16 @@
3131
/// The `SWIFT_INLINE_THUNK` macro is applied on the inline function thunks in
3232
/// the header that represents a C/C++ Swift module interface generated by the
3333
/// Swift compiler.
34-
#if __has_attribute(always_inline) && __has_attribute(artificial)
34+
#if __has_attribute(always_inline) && __has_attribute(nodebug)
3535
#if defined(DEBUG) && __has_attribute(used)
3636
// Additional 'used' attribute is used in debug mode to make inline thunks
3737
// accessible to LLDB.
3838
#define SWIFT_INLINE_THUNK_ATTRIBUTES \
39-
__attribute__((always_inline)) __attribute__((artificial)) \
39+
__attribute__((always_inline)) __attribute__((nodebug)) \
4040
__attribute__((used))
4141
#else
4242
#define SWIFT_INLINE_THUNK_ATTRIBUTES \
43-
__attribute__((always_inline)) __attribute__((artificial))
43+
__attribute__((always_inline)) __attribute__((nodebug))
4444
#endif
4545
#else
4646
#define SWIFT_INLINE_THUNK_ATTRIBUTES

0 commit comments

Comments
 (0)