mirror of
https://github.com/godotengine/godot.git
synced 2025-10-20 00:13:30 +00:00
Fix explain message not being stripped in release.
Messages coming from ERR_EXPLAIN / ERR_*_MSG macros used to strip the error explanation in release builds and was changed in a recent refactoring. This commit restores the old behaviour (fixing release builds).
This commit is contained in:
parent
8d7de9a9e9
commit
0d7409adfb
1 changed files with 79 additions and 72 deletions
|
@ -111,6 +111,13 @@ void _err_print_index_error(const char *p_function, const char *p_file, int p_li
|
||||||
#define GENERATE_TRAP __builtin_trap();
|
#define GENERATE_TRAP __builtin_trap();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Used to strip debug messages in release mode
|
||||||
|
#ifdef DEBUG_ENABLED
|
||||||
|
#define DEBUG_STR(m_msg) m_msg
|
||||||
|
#else
|
||||||
|
#define DEBUG_STR(m_msg) ""
|
||||||
|
#endif
|
||||||
|
|
||||||
// (*): See https://stackoverflow.com/questions/257418/do-while-0-what-is-it-good-for
|
// (*): See https://stackoverflow.com/questions/257418/do-while-0-what-is-it-good-for
|
||||||
|
|
||||||
#define ERR_FAIL_INDEX(m_index, m_size) \
|
#define ERR_FAIL_INDEX(m_index, m_size) \
|
||||||
|
@ -124,7 +131,7 @@ void _err_print_index_error(const char *p_function, const char *p_file, int p_li
|
||||||
#define ERR_FAIL_INDEX_MSG(m_index, m_size, m_msg) \
|
#define ERR_FAIL_INDEX_MSG(m_index, m_size, m_msg) \
|
||||||
do { \
|
do { \
|
||||||
if (unlikely((m_index) < 0 || (m_index) >= (m_size))) { \
|
if (unlikely((m_index) < 0 || (m_index) >= (m_size))) { \
|
||||||
_err_print_index_error(FUNCTION_STR, __FILE__, __LINE__, m_index, m_size, _STR(m_index), _STR(m_size), m_msg); \
|
_err_print_index_error(FUNCTION_STR, __FILE__, __LINE__, m_index, m_size, _STR(m_index), _STR(m_size), DEBUG_STR(m_msg)); \
|
||||||
return; \
|
return; \
|
||||||
} \
|
} \
|
||||||
} while (0); // (*)
|
} while (0); // (*)
|
||||||
|
@ -145,7 +152,7 @@ void _err_print_index_error(const char *p_function, const char *p_file, int p_li
|
||||||
#define ERR_FAIL_INDEX_V_MSG(m_index, m_size, m_retval, m_msg) \
|
#define ERR_FAIL_INDEX_V_MSG(m_index, m_size, m_retval, m_msg) \
|
||||||
do { \
|
do { \
|
||||||
if (unlikely((m_index) < 0 || (m_index) >= (m_size))) { \
|
if (unlikely((m_index) < 0 || (m_index) >= (m_size))) { \
|
||||||
_err_print_index_error(FUNCTION_STR, __FILE__, __LINE__, m_index, m_size, _STR(m_index), _STR(m_size), m_msg); \
|
_err_print_index_error(FUNCTION_STR, __FILE__, __LINE__, m_index, m_size, _STR(m_index), _STR(m_size), DEBUG_STR(m_msg)); \
|
||||||
return m_retval; \
|
return m_retval; \
|
||||||
} \
|
} \
|
||||||
} while (0); // (*)
|
} while (0); // (*)
|
||||||
|
@ -166,7 +173,7 @@ void _err_print_index_error(const char *p_function, const char *p_file, int p_li
|
||||||
#define ERR_FAIL_UNSIGNED_INDEX_V_MSG(m_index, m_size, m_retval, m_msg) \
|
#define ERR_FAIL_UNSIGNED_INDEX_V_MSG(m_index, m_size, m_retval, m_msg) \
|
||||||
do { \
|
do { \
|
||||||
if (unlikely((m_index) >= (m_size))) { \
|
if (unlikely((m_index) >= (m_size))) { \
|
||||||
_err_print_index_error(FUNCTION_STR, __FILE__, __LINE__, m_index, m_size, _STR(m_index), _STR(m_size), m_msg); \
|
_err_print_index_error(FUNCTION_STR, __FILE__, __LINE__, m_index, m_size, _STR(m_index), _STR(m_size), DEBUG_STR(m_msg)); \
|
||||||
return m_retval; \
|
return m_retval; \
|
||||||
} \
|
} \
|
||||||
} while (0); // (*)
|
} while (0); // (*)
|
||||||
|
@ -205,7 +212,7 @@ void _err_print_index_error(const char *p_function, const char *p_file, int p_li
|
||||||
#define ERR_FAIL_NULL_MSG(m_param, m_msg) \
|
#define ERR_FAIL_NULL_MSG(m_param, m_msg) \
|
||||||
{ \
|
{ \
|
||||||
if (unlikely(!m_param)) { \
|
if (unlikely(!m_param)) { \
|
||||||
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Parameter ' " _STR(m_param) " ' is null.", m_msg); \
|
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Parameter ' " _STR(m_param) " ' is null.", DEBUG_STR(m_msg)); \
|
||||||
return; \
|
return; \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
@ -221,7 +228,7 @@ void _err_print_index_error(const char *p_function, const char *p_file, int p_li
|
||||||
#define ERR_FAIL_NULL_V_MSG(m_param, m_retval, m_msg) \
|
#define ERR_FAIL_NULL_V_MSG(m_param, m_retval, m_msg) \
|
||||||
{ \
|
{ \
|
||||||
if (unlikely(!m_param)) { \
|
if (unlikely(!m_param)) { \
|
||||||
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Parameter ' " _STR(m_param) " ' is null.", m_msg); \
|
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Parameter ' " _STR(m_param) " ' is null.", DEBUG_STR(m_msg)); \
|
||||||
return m_retval; \
|
return m_retval; \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
@ -241,7 +248,7 @@ void _err_print_index_error(const char *p_function, const char *p_file, int p_li
|
||||||
#define ERR_FAIL_COND_MSG(m_cond, m_msg) \
|
#define ERR_FAIL_COND_MSG(m_cond, m_msg) \
|
||||||
{ \
|
{ \
|
||||||
if (unlikely(m_cond)) { \
|
if (unlikely(m_cond)) { \
|
||||||
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Condition ' " _STR(m_cond) " ' is true.", m_msg); \
|
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Condition ' " _STR(m_cond) " ' is true.", DEBUG_STR(m_msg)); \
|
||||||
return; \
|
return; \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
@ -260,7 +267,7 @@ void _err_print_index_error(const char *p_function, const char *p_file, int p_li
|
||||||
#define CRASH_COND_MSG(m_cond, m_msg) \
|
#define CRASH_COND_MSG(m_cond, m_msg) \
|
||||||
{ \
|
{ \
|
||||||
if (unlikely(m_cond)) { \
|
if (unlikely(m_cond)) { \
|
||||||
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "FATAL: Condition ' " _STR(m_cond) " ' is true.", m_msg); \
|
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "FATAL: Condition ' " _STR(m_cond) " ' is true.", DEBUG_STR(m_msg)); \
|
||||||
GENERATE_TRAP \
|
GENERATE_TRAP \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
@ -282,7 +289,7 @@ void _err_print_index_error(const char *p_function, const char *p_file, int p_li
|
||||||
#define ERR_FAIL_COND_V_MSG(m_cond, m_retval, m_msg) \
|
#define ERR_FAIL_COND_V_MSG(m_cond, m_retval, m_msg) \
|
||||||
{ \
|
{ \
|
||||||
if (unlikely(m_cond)) { \
|
if (unlikely(m_cond)) { \
|
||||||
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Condition ' " _STR(m_cond) " ' is true. returned: " _STR(m_retval), m_msg); \
|
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Condition ' " _STR(m_cond) " ' is true. returned: " _STR(m_retval), DEBUG_STR(m_msg)); \
|
||||||
return m_retval; \
|
return m_retval; \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
@ -302,7 +309,7 @@ void _err_print_index_error(const char *p_function, const char *p_file, int p_li
|
||||||
#define ERR_CONTINUE_MSG(m_cond, m_msg) \
|
#define ERR_CONTINUE_MSG(m_cond, m_msg) \
|
||||||
{ \
|
{ \
|
||||||
if (unlikely(m_cond)) { \
|
if (unlikely(m_cond)) { \
|
||||||
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Condition ' " _STR(m_cond) " ' is true. Continuing..:", m_msg); \
|
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Condition ' " _STR(m_cond) " ' is true. Continuing..:", DEBUG_STR(m_msg)); \
|
||||||
continue; \
|
continue; \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
@ -322,7 +329,7 @@ void _err_print_index_error(const char *p_function, const char *p_file, int p_li
|
||||||
#define ERR_BREAK_MSG(m_cond, m_msg) \
|
#define ERR_BREAK_MSG(m_cond, m_msg) \
|
||||||
{ \
|
{ \
|
||||||
if (unlikely(m_cond)) { \
|
if (unlikely(m_cond)) { \
|
||||||
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Condition ' " _STR(m_cond) " ' is true. Breaking..:", m_msg); \
|
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Condition ' " _STR(m_cond) " ' is true. Breaking..:", DEBUG_STR(m_msg)); \
|
||||||
break; \
|
break; \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
@ -338,7 +345,7 @@ void _err_print_index_error(const char *p_function, const char *p_file, int p_li
|
||||||
|
|
||||||
#define ERR_FAIL_MSG(m_msg) \
|
#define ERR_FAIL_MSG(m_msg) \
|
||||||
{ \
|
{ \
|
||||||
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Method/Function Failed.", m_msg); \
|
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Method/Function Failed.", DEBUG_STR(m_msg)); \
|
||||||
return; \
|
return; \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -353,7 +360,7 @@ void _err_print_index_error(const char *p_function, const char *p_file, int p_li
|
||||||
|
|
||||||
#define ERR_FAIL_V_MSG(m_value, m_msg) \
|
#define ERR_FAIL_V_MSG(m_value, m_msg) \
|
||||||
{ \
|
{ \
|
||||||
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Method/Function Failed, returning: " __STR(m_value), m_msg); \
|
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Method/Function Failed, returning: " __STR(m_value), DEBUG_STR(m_msg)); \
|
||||||
return m_value; \
|
return m_value; \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -368,7 +375,7 @@ void _err_print_index_error(const char *p_function, const char *p_file, int p_li
|
||||||
|
|
||||||
#define CRASH_NOW_MSG(m_msg) \
|
#define CRASH_NOW_MSG(m_msg) \
|
||||||
{ \
|
{ \
|
||||||
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "FATAL: Method/Function Failed.", m_msg); \
|
_err_print_error(FUNCTION_STR, __FILE__, __LINE__, "FATAL: Method/Function Failed.", DEBUG_STR(m_msg)); \
|
||||||
GENERATE_TRAP \
|
GENERATE_TRAP \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue