#define optimize(opt) __attribute__((optimize(opt)))
#define must_inline __attribute__((always_inline))
#define must_emit __attribute__((used))
+#define unreachable __builtin_unreachable()
#define clz(bits) __builtin_clz(bits)
#define sadd_overflow(a, b, of) __builtin_sadd_overflow(a, b, of)
#define compact __attribute__((packed))
#define align(v) __attribute__((aligned (v)))
-#define export_symbol(domain, symbol)\
- typeof(symbol)* must_emit __SYMEXPORT_Z##domain##_##symbol = &(symbol)
+#define export_symbol(domain, namespace, symbol)\
+ typeof(symbol)* must_emit __SYMEXPORT_Z##domain##_N##namespace##_S##symbol = &(symbol)
inline static void noret
spin()
volatile int __infloop = 1;
while (__infloop)
;
- __builtin_unreachable();
+ unreachable;
}
#endif /* __LUNAIX_COMPILER_H */