summaryrefslogtreecommitdiff
path: root/src/nonstd/ASSERT_NONNULL.c
blob: e65020fd413877a2303d6cc943c79337e7a1bb8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <nonstd/assert.h>

#ifndef NDEBUG
#define ASSERT_NONNULL(_ptr) do { \
	if (!_ptr) { \
		struct __constraint_info _ci = {0}; \
		_ci.func = __func__; \
		__libc.stdlib.constraint_handler("Undefined behavior: " \
			"Parameter " #_ptr " can not be NULL", &_ci, EFAULT); \
	} \
	} while (0)
#else
#define ASSERT_NONNULL(x)
#endif