- Stacktrace generation with failed asserts
This commit is contained in:
@@ -25,8 +25,9 @@
|
||||
|
||||
using assert_handler = void (*)(const char *, const char *, int , const char *);
|
||||
|
||||
extern void __assert_impl(const char* expression, const char* file, int line, const char* function);
|
||||
extern void __assert_impl(const char* expression, const char* file, int line, const char* function, const char* desc);
|
||||
|
||||
#define assert(expression) if(not(expression)) { __assert_impl(#expression, __FILE__, __LINE__, __PRETTY_FUNCTION__); }
|
||||
#define assert(expression, description) \
|
||||
if(not(expression)) { __assert_impl(#expression, __FILE__, __LINE__, __PRETTY_FUNCTION__, description); }
|
||||
|
||||
#endif // FENNEC_LANG_ASSERT_H
|
||||
|
||||
@@ -26,9 +26,9 @@
|
||||
|
||||
#pragma push_macro("__cplusplus")
|
||||
#undef __cplusplus
|
||||
extern "C" {
|
||||
extern "C" {
|
||||
#include <stdlib.h>
|
||||
}
|
||||
}
|
||||
#pragma pop_macro("__cplusplus")
|
||||
|
||||
#if _MSC_VER
|
||||
|
||||
@@ -153,17 +153,6 @@
|
||||
/// \copybrief fennec::int64_t
|
||||
///
|
||||
///
|
||||
///// <tr><td width="50%" style="vertical-align: top"> <br>
|
||||
///// <tt>\ref fennec::float32_t "float32_t"</tt>
|
||||
///// <td width="50%" style="vertical-align: top">
|
||||
///// \copybrief fennec::float32_t
|
||||
/////
|
||||
///// <tr><td width="50%" style="vertical-align: top"> <br>
|
||||
///// <tt>\ref fennec::float64_t "float64_t"</tt>
|
||||
///// <td width="50%" style="vertical-align: top">
|
||||
///// \copybrief fennec::float64_t
|
||||
///
|
||||
///
|
||||
/// <tr><th colspan=2 style="text-align: center;">Special Types
|
||||
/// <tr><td width="50%" style="vertical-align: top"> <br>
|
||||
/// <tt>\ref fennec::nullptr_t "nullptr_t"</tt>
|
||||
|
||||
Reference in New Issue
Block a user