#ifndef COMPILER_H_ #define COMPILER_H_ #ifdef __GNUC__ #define MEMORY_BARRIER() asm volatile("":::"memory") #define INTERRUPT(x) __attribute__((__interrupt__(x))) #define force_inline __attribute__((__force_inline__)) #else // TODO... #define MEMORY_BARRIER() asm("") /* idk */ #define INTERRUPT(x) __interrupt int iprintf(const char* fmt, ...); #define __builtin_unreachable() do{int* a =NULL; (void)*a;}while(1) #define force_inline #endif #endif