xref: /rk3399_ARM-atf/include/lib/libc/assert.h (revision 8bb6de151892f20afcffe7cfa114710e0a47d6c6)
1*8bb6de15SAntonio Nino Diaz /*
2*8bb6de15SAntonio Nino Diaz  * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
3*8bb6de15SAntonio Nino Diaz  *
4*8bb6de15SAntonio Nino Diaz  * SPDX-License-Identifier: BSD-3-Clause
5*8bb6de15SAntonio Nino Diaz  */
6*8bb6de15SAntonio Nino Diaz 
7*8bb6de15SAntonio Nino Diaz #ifndef ASSERT_H
8*8bb6de15SAntonio Nino Diaz #define ASSERT_H
9*8bb6de15SAntonio Nino Diaz 
10*8bb6de15SAntonio Nino Diaz #include <cdefs.h>
11*8bb6de15SAntonio Nino Diaz #include <debug.h>
12*8bb6de15SAntonio Nino Diaz #include <platform_def.h>
13*8bb6de15SAntonio Nino Diaz 
14*8bb6de15SAntonio Nino Diaz #ifndef PLAT_LOG_LEVEL_ASSERT
15*8bb6de15SAntonio Nino Diaz #define PLAT_LOG_LEVEL_ASSERT	LOG_LEVEL
16*8bb6de15SAntonio Nino Diaz #endif
17*8bb6de15SAntonio Nino Diaz 
18*8bb6de15SAntonio Nino Diaz #if ENABLE_ASSERTIONS
19*8bb6de15SAntonio Nino Diaz # if PLAT_LOG_LEVEL_ASSERT >= LOG_LEVEL_VERBOSE
20*8bb6de15SAntonio Nino Diaz #  define assert(e)	((e) ? (void)0 : __assert(__FILE__, __LINE__, #e))
21*8bb6de15SAntonio Nino Diaz # elif PLAT_LOG_LEVEL_ASSERT >= LOG_LEVEL_INFO
22*8bb6de15SAntonio Nino Diaz #  define assert(e)	((e) ? (void)0 : __assert(__FILE__, __LINE__))
23*8bb6de15SAntonio Nino Diaz # else
24*8bb6de15SAntonio Nino Diaz #  define assert(e)	((e) ? (void)0 : __assert())
25*8bb6de15SAntonio Nino Diaz # endif
26*8bb6de15SAntonio Nino Diaz #else
27*8bb6de15SAntonio Nino Diaz #define assert(e)	((void)0)
28*8bb6de15SAntonio Nino Diaz #endif /* ENABLE_ASSERTIONS */
29*8bb6de15SAntonio Nino Diaz 
30*8bb6de15SAntonio Nino Diaz #if PLAT_LOG_LEVEL_ASSERT >= LOG_LEVEL_VERBOSE
31*8bb6de15SAntonio Nino Diaz __dead2 void __assert(const char *file, unsigned int line,
32*8bb6de15SAntonio Nino Diaz 		      const char *assertion);
33*8bb6de15SAntonio Nino Diaz #elif PLAT_LOG_LEVEL_ASSERT >= LOG_LEVEL_INFO
34*8bb6de15SAntonio Nino Diaz __dead2 void __assert(const char *file, unsigned int line);
35*8bb6de15SAntonio Nino Diaz #else
36*8bb6de15SAntonio Nino Diaz __dead2 void __assert(void);
37*8bb6de15SAntonio Nino Diaz #endif
38*8bb6de15SAntonio Nino Diaz 
39*8bb6de15SAntonio Nino Diaz #endif /* ASSERT_H */
40