Merge pull request #3881 from geky/log-no-io

Remove debug links to printf/exit in NDEBUG builds
pull/4252/merge
Jimmy Brisson 2017-05-02 11:37:10 -05:00 committed by GitHub
commit 7ace0cbb14
2 changed files with 13 additions and 13 deletions

View File

@ -18,49 +18,49 @@
*/
#ifndef MBED_DEBUG_H
#define MBED_DEBUG_H
#include "device.h"
#if DEVICE_STDIO_MESSAGES
#include <stdio.h>
#include <stdarg.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if DEVICE_STDIO_MESSAGES
#include <stdio.h>
#include <stdarg.h>
/** Output a debug message
*
* @param format printf-style format string, followed by variables
*/
static inline void debug(const char *format, ...) {
#if DEVICE_STDIO_MESSAGES && !defined(NDEBUG)
va_list args;
va_start(args, format);
vfprintf(stderr, format, args);
va_end(args);
#endif
}
/** Conditionally output a debug message
*
* NOTE: If the condition is constant false (!= 1) and the compiler optimization
* NOTE: If the condition is constant false (== 0) and the compiler optimization
* level is greater than 0, then the whole function will be compiled away.
*
* @param condition output only if condition is true (== 1)
* @param condition output only if condition is true (!= 0)
* @param format printf-style format string, followed by variables
*/
static inline void debug_if(int condition, const char *format, ...) {
if (condition == 1) {
#if DEVICE_STDIO_MESSAGES && !defined(NDEBUG)
if (condition) {
va_list args;
va_start(args, format);
vfprintf(stderr, format, args);
va_end(args);
}
#endif
}
#else
static inline void debug(const char *format, ...) {}
static inline void debug_if(int condition, const char *format, ...) {}
#endif
#ifdef __cplusplus
}

View File

@ -33,6 +33,7 @@
*---------------------------------------------------------------------------*/
#include "cmsis_os.h"
#include "mbed_error.h"
/*----------------------------------------------------------------------------
@ -244,7 +245,6 @@ void os_idle_demon (void) {
/*----------------------------------------------------------------------------
* RTX Errors
*---------------------------------------------------------------------------*/
extern void error(const char* format, ...);
extern osThreadId svcThreadGetId (void);
void os_error (uint32_t err_code) {