summaryrefslogtreecommitdiff
path: root/include/sys/cdefs.h
blob: 0d6f6327ab5121d532fd635b7c1e466b734fcaf5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef __SYS_CDEFS_H
#define __SYS_CDEFS_H

#define __BEGIN_DECLS extern "C" {
#define __END_DECLS   }

#define __dead	     __attribute__((__noreturn__))
#define __used	     __attribute__((__used__))
#define __unused     __attribute__((__unused__))
#define __packed     __attribute__((__packed__))
#define __aligned(x) __attribute__((__aligned__(x)))
#define __malloc     __attribute__((__malloc__))
#define __pure	     __attribute__((__pure__))
#define __nodiscard  __attribute__((__warn_unused_result__))

#define __predict_true(exp)  __builtin_expect((exp) != 0, 1)
#define __predict_false(exp) __builtin_expect((exp) != 0, 0)

#endif