Skip to content

Commit 6f73b26

Browse files
committed
Define constexpr cpp2rust_assert_fail
1 parent cae6949 commit 6f73b26

1 file changed

Lines changed: 12 additions & 4 deletions

File tree

‎cpp2rust/compat/assert.h‎

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,18 @@
55

66
#undef assert
77

8-
#ifndef __cplusplus
8+
#ifdef __cplusplus
9+
#ifndef CPP2RUST_ASSERT_FAIL_DEFINED
10+
#define CPP2RUST_ASSERT_FAIL_DEFINED
11+
constexpr void cpp2rust_assert_fail(bool condition) {
12+
if (!condition) {
13+
__builtin_trap();
14+
}
15+
}
16+
#endif // CPP2RUST_ASSERT_FAIL_DEFINED
17+
#define assert(expr) cpp2rust_assert_fail(static_cast<bool>(expr))
18+
#else
919
#include <stdbool.h>
10-
#endif
11-
1220
void cpp2rust_assert_fail(bool condition) __attribute__((noreturn));
13-
1421
#define assert(expr) cpp2rust_assert_fail(expr)
22+
#endif // __cplusplus

0 commit comments

Comments
 (0)