Go to the documentation of this file.
8#define __alias(x) __attribute__((__alias__(x)))
9#define __aligned(x) __attribute__((__aligned__(x)))
10#define __noreturn __attribute__((__noreturn__))
11#define __packed __attribute__((__packed__))
12#define __printf(f, v) __attribute__((__format__(__printf__, f, v)))
13#define __maybe_unused __attribute__((__unused__))
14#define __used __attribute__((__used__))
15#define __weak __attribute__((__weak__))
18#define __noinline __attribute__((__noinline__))
21#ifndef __always_inline
22#define __always_inline __attribute__((__always_inline__))
26#define __section(s) __attribute__((__section__(s)))
29#define unreachable() __builtin_unreachable()
30#define barrier() __asm__ __volatile__ ("" ::: "memory")
33#define __user_text __section(".text.user")
34#define __user_data __section(".data.user")
36#define __page_aligned_data __section(".data.page_aligned") __aligned(4096)
37#define __page_aligned_bss __section(".bss.page_aligned") __aligned(4096)
39#define __user_page_aligned_bss \
40 __section(".bss.user.page_aligned") __aligned(4096)