|
Contiki-NG
|
Loading...
Searching...
No Matches
Go to the documentation of this file.
54 #define CC_CONF_ASSUME(c) do { __builtin_assume((c)); } while(0)
56 #define CC_CONF_ASSUME(c) __attribute__((__assume__(c)))
58 #define CC_CONF_ASSUME(c) do { if (!(c)) __builtin_unreachable(); } while(0)
62#define CC_CONF_ALIGN(n) __attribute__((__aligned__(n)))
64#ifndef CC_CONF_CONSTRUCTOR
65#define CC_CONF_CONSTRUCTOR(prio) __attribute__((constructor(prio)))
68#ifndef CC_CONF_DESTRUCTOR
69#define CC_CONF_DESTRUCTOR(prio) __attribute__((destructor(prio)))
72#define CC_CONF_DEPRECATED(msg) __attribute__((deprecated(msg)))
74#define CC_CONF_NORETURN __attribute__((__noreturn__))
83#define ASSUME(c) CC_CONF_ASSUME(c)
89#define CC_ALIGN(n) CC_CONF_ALIGN(n)
96#ifdef CC_CONF_NORETURN
97#define CC_NORETURN CC_CONF_NORETURN
108#ifdef CC_CONF_CONSTRUCTOR
109#define CC_CONSTRUCTOR(prio) CC_CONF_CONSTRUCTOR(prio)
111#define CC_CONSTRUCTOR(prio)
120#ifdef CC_CONF_DESTRUCTOR
121#define CC_DESTRUCTOR(prio) CC_CONF_DESTRUCTOR(prio)
123#define CC_DESTRUCTOR(prio)
130#ifdef CC_CONF_DEPRECATED
131#define CC_DEPRECATED(msg) CC_CONF_DEPRECATED(msg)
133#define CC_DEPRECATED(msg)
145#define CC_ACCESS_NOW(type, variable) (*(volatile type *)&(variable))
152#define MAX(n, m) (((n) < (m)) ? (m) : (n))
156#define MIN(n, m) (((n) < (m)) ? (n) : (m))
160#define ABS(n) (((n) < 0) ? -(n) : (n))
164#define BOUND(a, minimum, maximum) MIN(MAX(a, minimum), maximum)
168#define CC_CONCAT2(s1, s2) s1##s2
175#define CC_CONCAT(s1, s2) CC_CONCAT2(s1, s2)
176#define CC_CONCAT_EXT_2(s1, s2) CC_CONCAT2(s1, s2)
181#define CC_CONCAT3(s1, s2, s3) s1##s2##s3
182#define CC_CONCAT_EXT_3(s1, s2, s3) CC_CONCAT3(s1, s2, s3)
185#if __STDC_VERSION__ >= 201112L && __STDC_VERSION__ < 202311L && \
188#define static_assert _Static_assert