mirror of https://github.com/ARMmbed/mbed-os.git
[mbed] Modified MBED_ASSERT to use error()
Modified mbed_assert_internal() to call error() with the assertation message instead of fprintf() followed by mbed_die(). This allows assertation failures to be caught by custom error() functions that replace the default weak definition.pull/1240/head
parent
3a12b5f998
commit
8d81cb49e1
|
|
@ -23,8 +23,7 @@ extern "C" {
|
|||
/** Internal mbed assert function which is invoked when MBED_ASSERT macro failes.
|
||||
* This function is active only if NDEBUG is not defined prior to including this
|
||||
* assert header file.
|
||||
* In case of MBED_ASSERT failing condition, the assertation message is printed
|
||||
* to stderr and mbed_die() is called.
|
||||
* In case of MBED_ASSERT failing condition, error() is called with the assertation message.
|
||||
* @param expr Expresion to be checked.
|
||||
* @param file File where assertation failed.
|
||||
* @param line Failing assertation line number.
|
||||
|
|
|
|||
|
|
@ -14,19 +14,9 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
#include "mbed_assert.h"
|
||||
#include "device.h"
|
||||
|
||||
#if DEVICE_STDIO_MESSAGES
|
||||
#include <stdio.h>
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#include "mbed_interface.h"
|
||||
#include "mbed_error.h"
|
||||
|
||||
void mbed_assert_internal(const char *expr, const char *file, int line)
|
||||
{
|
||||
#if DEVICE_STDIO_MESSAGES
|
||||
fprintf(stderr, "mbed assertation failed: %s, file: %s, line %d \n", expr, file, line);
|
||||
#endif
|
||||
mbed_die();
|
||||
error("mbed assertation failed: %s, file: %s, line %d \n", expr, file, line);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue