xref: /rk3399_ARM-atf/include/lib/libc/assert.h (revision f906a44e9ea9ccefaab2a9d40bb2cb3f354609c8)
18bb6de15SAntonio Nino Diaz /*
2*f906a44eSMasahiro Yamada  * Copyright (c) 2018-2019, ARM Limited and Contributors. All rights reserved.
38bb6de15SAntonio Nino Diaz  *
48bb6de15SAntonio Nino Diaz  * SPDX-License-Identifier: BSD-3-Clause
58bb6de15SAntonio Nino Diaz  */
68bb6de15SAntonio Nino Diaz 
78bb6de15SAntonio Nino Diaz #ifndef ASSERT_H
88bb6de15SAntonio Nino Diaz #define ASSERT_H
98bb6de15SAntonio Nino Diaz 
108bb6de15SAntonio Nino Diaz #include <cdefs.h>
1109d40e0eSAntonio Nino Diaz 
128bb6de15SAntonio Nino Diaz #include <platform_def.h>
138bb6de15SAntonio Nino Diaz 
1409d40e0eSAntonio Nino Diaz #include <common/debug.h>
1509d40e0eSAntonio Nino Diaz 
168bb6de15SAntonio Nino Diaz #ifndef PLAT_LOG_LEVEL_ASSERT
178bb6de15SAntonio Nino Diaz #define PLAT_LOG_LEVEL_ASSERT	LOG_LEVEL
188bb6de15SAntonio Nino Diaz #endif
198bb6de15SAntonio Nino Diaz 
208bb6de15SAntonio Nino Diaz #if ENABLE_ASSERTIONS
218bb6de15SAntonio Nino Diaz # if PLAT_LOG_LEVEL_ASSERT >= LOG_LEVEL_VERBOSE
228bb6de15SAntonio Nino Diaz #  define assert(e)	((e) ? (void)0 : __assert(__FILE__, __LINE__, #e))
238bb6de15SAntonio Nino Diaz # elif PLAT_LOG_LEVEL_ASSERT >= LOG_LEVEL_INFO
248bb6de15SAntonio Nino Diaz #  define assert(e)	((e) ? (void)0 : __assert(__FILE__, __LINE__))
258bb6de15SAntonio Nino Diaz # else
268bb6de15SAntonio Nino Diaz #  define assert(e)	((e) ? (void)0 : __assert())
278bb6de15SAntonio Nino Diaz # endif
288bb6de15SAntonio Nino Diaz #else
298bb6de15SAntonio Nino Diaz #define assert(e)	((void)0)
308bb6de15SAntonio Nino Diaz #endif /* ENABLE_ASSERTIONS */
318bb6de15SAntonio Nino Diaz 
328bb6de15SAntonio Nino Diaz #if PLAT_LOG_LEVEL_ASSERT >= LOG_LEVEL_VERBOSE
33*f906a44eSMasahiro Yamada void __dead2 __assert(const char *file, unsigned int line,
348bb6de15SAntonio Nino Diaz 		      const char *assertion);
358bb6de15SAntonio Nino Diaz #elif PLAT_LOG_LEVEL_ASSERT >= LOG_LEVEL_INFO
36*f906a44eSMasahiro Yamada void __dead2 __assert(const char *file, unsigned int line);
378bb6de15SAntonio Nino Diaz #else
38*f906a44eSMasahiro Yamada void __dead2 __assert(void);
398bb6de15SAntonio Nino Diaz #endif
408bb6de15SAntonio Nino Diaz 
418bb6de15SAntonio Nino Diaz #endif /* ASSERT_H */
42