base: add error checking macros
Define there options for runtime error handling: - assert on all errors (ASSERT_ON_ERRORS) - no runtime checks (no asserts, no runtime error handling) (NO_RUNTIME_CHECKS) - full runtime error handling (the default) (RUNTIME_ERROR_CHECKS) Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
parent
b536dc20c6
commit
22b95a2047
3 changed files with 49 additions and 0 deletions
26
include/sys/check.h
Normal file
26
include/sys/check.h
Normal file
|
@ -0,0 +1,26 @@
|
|||
/*
|
||||
* Copyright (c) 2019 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
|
||||
#ifndef ZEPHYR_INCLUDE_SYS_CHECK_H_
|
||||
#define ZEPHYR_INCLUDE_SYS_CHECK_H_
|
||||
|
||||
#include <sys/__assert.h>
|
||||
|
||||
#if defined(CONFIG_ASSERT_ON_ERRORS)
|
||||
#define CHECKIF(expr) \
|
||||
__ASSERT_NO_MSG(!(expr)); \
|
||||
if (0)
|
||||
#elif defined(CONFIG_NO_RUNTIME_CHECKS)
|
||||
#define CHECKIF(...) \
|
||||
if (0)
|
||||
#else
|
||||
#define CHECKIF(expr) \
|
||||
if (expr)
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* ZEPHYR_INCLUDE_SYS_CHECK_H_ */
|
Loading…
Add table
Add a link
Reference in a new issue