1#include <unistd.h> 2 3#define STRINGIFY(x) #x 4#define TOSTRING(x) STRINGIFY(x) 5 6#define CURRENT_LOCATION __FILE__ ":" TOSTRING(__LINE__) 7 8#define err() \ 9{ \ 10 _fail("at " CURRENT_LOCATION " "); \ 11} 12 13#define mb() asm volatile ("" : : : "memory") 14 15void pass(void); 16void _fail(char *reason); 17