Zth (libzth)
Loading...
Searching...
No Matches
assert.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2019-2026 Jochem Rutgers
3 *
4 * SPDX-License-Identifier: MPL-2.0
5 */
6
7#include <libzth/util.h>
8
9#include <cassert>
10
11#ifdef ZTH_OS_MACOS
12void __assert_rtn(const char* func, const char* file, unsigned int line, const char* exp)
13{
14 (void)func;
15 zth::assert_handler(file, (int)line, exp);
16}
17#elif defined(__NEWLIB__)
18void __assert_func(const char* file, int line, const char* func, const char* failedexpr)
19{
20 (void)func;
21 zth::assert_handler(file, line, failedexpr);
22}
23#else // assume glibc
25 const char* __assertion, const char* __file, unsigned int __line,
26 const char* __function) noexcept
27{
28 (void)__function;
29 zth::assert_handler(__file, (int)__line, __assertion);
30}
31
33 int __errnum, const char* __file, unsigned int __line, const char* __function) noexcept
34
35{
36 (void)__function;
37 zth::assert_handler(__file, (int)__line, zth::err(__errnum).c_str());
38}
39#endif // glibc
void __assert_perror_fail(int __errnum, const char *__file, unsigned int __line, const char *__function) noexcept
Definition assert.cpp:32
void __assert_fail(const char *__assertion, const char *__file, unsigned int __line, const char *__function) noexcept
Definition assert.cpp:24
string err(int e)
Return a string like strerror() does, but as a zth::string.
Definition util.h:701
void assert_handler(char const *file, int line, char const *expr)
Definition util.h:260