18bb6de15SAntonio Nino Diaz /* 2*4c700c15SGovindraj Raja * 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 1209d40e0eSAntonio Nino Diaz #include <common/debug.h> 1309d40e0eSAntonio Nino Diaz 148bb6de15SAntonio Nino Diaz #ifndef PLAT_LOG_LEVEL_ASSERT 158bb6de15SAntonio Nino Diaz #define PLAT_LOG_LEVEL_ASSERT LOG_LEVEL 168bb6de15SAntonio Nino Diaz #endif 178bb6de15SAntonio Nino Diaz 188bb6de15SAntonio Nino Diaz #if ENABLE_ASSERTIONS 19885e2683SClaus Pedersen # if PLAT_LOG_LEVEL_ASSERT >= LOG_LEVEL_INFO 208bb6de15SAntonio Nino Diaz # define assert(e) ((e) ? (void)0 : __assert(__FILE__, __LINE__)) 218bb6de15SAntonio Nino Diaz # else 228bb6de15SAntonio Nino Diaz # define assert(e) ((e) ? (void)0 : __assert()) 238bb6de15SAntonio Nino Diaz # endif 248bb6de15SAntonio Nino Diaz #else 258bb6de15SAntonio Nino Diaz #define assert(e) ((void)0) 268bb6de15SAntonio Nino Diaz #endif /* ENABLE_ASSERTIONS */ 278bb6de15SAntonio Nino Diaz 28885e2683SClaus Pedersen #if PLAT_LOG_LEVEL_ASSERT >= LOG_LEVEL_INFO 29f906a44eSMasahiro Yamada void __dead2 __assert(const char *file, unsigned int line); 308bb6de15SAntonio Nino Diaz #else 31f906a44eSMasahiro Yamada void __dead2 __assert(void); 328bb6de15SAntonio Nino Diaz #endif 338bb6de15SAntonio Nino Diaz 348bb6de15SAntonio Nino Diaz #endif /* ASSERT_H */ 35