18 #ifndef _XENOMAI_TRANK_TRANK_H
19 #define _XENOMAI_TRANK_TRANK_H
21 #include <boilerplate/compiler.h>
23 #ifdef __XENO_COMPAT__
29 void warning(
const char *fmt, ...);
35 #define trank_warning(__fmt, __args...) \
36 warning("%s: " __fmt, __func__, ##__args)
38 #define __CURRENT(call) __current_ ## call
40 #define COMPAT_DECL(T, P) __typeof__(T) P
41 #define CURRENT_DECL(T, P) __typeof__(T) __CURRENT(P)
45 #define __CURRENT(call) call
47 #define COMPAT_DECL(T, P)
48 #define CURRENT_DECL(T, P) __typeof__(T) P; \
49 __typeof__(T) __current_ ## P
51 #define CURRENT_IMPL(T, I, A) \
52 __typeof__(T) I A __attribute__((alias("__current_" __stringify(I)), weak)); \
53 __typeof__(T) __current_ ## I A