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