blob: 6a886dbec20caebdc278047f07822ea83a384242 [file] [log] [blame]
Imre Kisf55f2aa2024-05-28 15:55:19 +02001/*
Imre Kis264d3002024-05-28 16:54:34 +02002 * Copyright (c) 2018-2024, Arm Limited and Contributors. All rights reserved.
Imre Kisf55f2aa2024-05-28 15:55:19 +02003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef ASSERT_H
8#define ASSERT_H
9
10#include <cdefs.h>
11
Imre Kis264d3002024-05-28 16:54:34 +020012#ifndef NDEBUG
13void __dead2 __assert(const char *file, int line, const char *func, const char *assertion);
Imre Kisf55f2aa2024-05-28 15:55:19 +020014
Imre Kis264d3002024-05-28 16:54:34 +020015#define assert(e) ((e) ? (void)0 : __assert(__FILE__, __LINE__, __func__, #e))
Imre Kisf55f2aa2024-05-28 15:55:19 +020016#else
Imre Kis264d3002024-05-28 16:54:34 +020017#define assert(e) ((void)(e))
Imre Kisf55f2aa2024-05-28 15:55:19 +020018#endif
19
20#endif /* ASSERT_H */