feat 重构stream流API并适配lex_parse和lexer
This commit is contained in:
@@ -16,6 +16,16 @@
|
||||
#define log_exit exit
|
||||
#endif
|
||||
|
||||
#ifdef __GNUC__ // GCC, Clang, ICC
|
||||
#define __smcc_log_unreachable() (__builtin_unreachable())
|
||||
#elif defined _MSC_VER // MSVC
|
||||
#define __smcc_log_unreachable() (__assume(false))
|
||||
#elif defined __SMCC_BUILT_IN__ // The SMCC (my compiler)
|
||||
#define __smcc_log_unreachable() (__smcc_builtin_unreachable())
|
||||
#else
|
||||
#define __smcc_log_unreachable()
|
||||
#endif
|
||||
|
||||
#ifndef log_snprintf
|
||||
#define log_snprintf(...)
|
||||
#warning "log_snprintf not defined"
|
||||
@@ -172,6 +182,8 @@ void logger_destroy(logger_t *logger);
|
||||
do { \
|
||||
if (!(cond)) { \
|
||||
LOG_FATAL(__VA_ARGS__); \
|
||||
log_exit(1); \
|
||||
__smcc_log_unreachable(); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user