00001 #include <unistd.h> 00002 00003 #define STRINGIFY(x) #x 00004 #define TOSTRING(x) STRINGIFY(x) 00005 00006 #define CURRENT_LOCATION __FILE__ ":" TOSTRING(__LINE__) 00007 00008 #define err() \ 00009 { \ 00010 _fail("at " CURRENT_LOCATION " "); \ 00011 } 00012 00013 #define mb() asm volatile ("" : : : "memory") 00014 00015 extern void pass(void); 00016 extern void _fail(char *reason);