Skip to content

Commit 613063d

Browse files
Fix C++ interop compatibility in wasmkit_swift_errorRelease
1 parent 795820b commit 613063d

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

Sources/_CWasmKit/include/_CWasmKit.h

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,21 @@ static inline void wasmkit_fwrite_stderr(const char *_Nonnull str, size_t len) {
4747
// MARK: - Swift Runtime Functions
4848

4949
struct SwiftError;
50+
#ifdef __cplusplus
51+
extern "C" {
52+
#endif
53+
extern void swift_errorRelease(const struct SwiftError *_Nonnull object);
54+
#ifdef __cplusplus
55+
}
56+
#endif
5057

5158
/// Releases the given Swift error object.
5259
static inline void wasmkit_swift_errorRelease(const void *_Nonnull object) {
53-
extern void swift_errorRelease(const struct SwiftError *_Nonnull object);
60+
#ifdef __cplusplus
61+
swift_errorRelease(static_cast<const struct SwiftError *_Nonnull>(object));
62+
#else
5463
swift_errorRelease(object);
64+
#endif
5565
}
5666

5767
#endif // WASMKIT__CWASMKIT_H

0 commit comments

Comments
 (0)