|
19 | 19 | // __FILE__ but only renders the last path component (the filename) instead of
|
20 | 20 | // an invocation dependent full path to that file.
|
21 | 21 | #define lldbassert(x) \
|
22 |
| - ::lldb_private::lldb_assert(static_cast<bool>(x), #x, __FUNCTION__, \ |
23 |
| - __FILE_NAME__, __LINE__) |
| 22 | + lldb_private::_lldb_assert(static_cast<bool>(x), #x, __FUNCTION__, \ |
| 23 | + __FILE_NAME__, __LINE__) |
24 | 24 | #else
|
25 | 25 | #define lldbassert(x) \
|
26 |
| - lldb_private::lldb_assert(static_cast<bool>(x), #x, __FUNCTION__, __FILE__, \ |
27 |
| - __LINE__) |
| 26 | + lldb_private::_lldb_assert(static_cast<bool>(x), #x, __FUNCTION__, __FILE__, \ |
| 27 | + __LINE__) |
28 | 28 | #endif
|
29 | 29 | #endif
|
30 | 30 |
|
31 | 31 | namespace lldb_private {
|
32 |
| -void lldb_assert(bool expression, const char *expr_text, const char *func, |
33 |
| - const char *file, unsigned int line); |
34 | 32 |
|
| 33 | +/// Don't use _lldb_assert directly. Use the lldbassert macro instead so that |
| 34 | +/// LLDB asserts become regular asserts in NDEBUG builds. |
| 35 | +void _lldb_assert(bool expression, const char *expr_text, const char *func, |
| 36 | + const char *file, unsigned int line); |
| 37 | + |
| 38 | +/// The default LLDB assert callback, which prints to stderr. |
35 | 39 | typedef void (*LLDBAssertCallback)(llvm::StringRef message,
|
36 | 40 | llvm::StringRef backtrace,
|
37 | 41 | llvm::StringRef prompt);
|
38 | 42 |
|
| 43 | +/// Replace the LLDB assert callback. |
39 | 44 | void SetLLDBAssertCallback(LLDBAssertCallback callback);
|
| 45 | + |
40 | 46 | } // namespace lldb_private
|
41 | 47 |
|
42 | 48 | #endif // LLDB_UTILITY_LLDBASSERT_H
|
0 commit comments