1 /* 2 * Copyright (c) 2018-2019, Arm Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef ASSERT_H 8 #define ASSERT_H 9 10 #include <cdefs.h> 11 12 #include <common/debug.h> 13 14 #ifndef PLAT_LOG_LEVEL_ASSERT 15 #define PLAT_LOG_LEVEL_ASSERT LOG_LEVEL 16 #endif 17 18 #if ENABLE_ASSERTIONS 19 # if PLAT_LOG_LEVEL_ASSERT >= LOG_LEVEL_INFO 20 # define assert(e) ((e) ? (void)0 : __assert(__FILE__, __LINE__)) 21 # else 22 # define assert(e) ((e) ? (void)0 : __assert()) 23 # endif 24 #else 25 #define assert(e) ((void)0) 26 #endif /* ENABLE_ASSERTIONS */ 27 28 #if PLAT_LOG_LEVEL_ASSERT >= LOG_LEVEL_INFO 29 void __dead2 __assert(const char *file, unsigned int line); 30 #else 31 void __dead2 __assert(void); 32 #endif 33 34 #endif /* ASSERT_H */ 35