1*d56f51eaSDavid van Moolenbroek /* Define __P() macro, if necessary */ 2*d56f51eaSDavid van Moolenbroek 3*d56f51eaSDavid van Moolenbroek #ifndef __P 4*d56f51eaSDavid van Moolenbroek #if __STDC__ 5*d56f51eaSDavid van Moolenbroek #define __P(protos) protos 6*d56f51eaSDavid van Moolenbroek #else 7*d56f51eaSDavid van Moolenbroek #define __P(protos) () 8*d56f51eaSDavid van Moolenbroek #endif 9*d56f51eaSDavid van Moolenbroek #endif 10*d56f51eaSDavid van Moolenbroek 11*d56f51eaSDavid van Moolenbroek /* inline foo */ 12*d56f51eaSDavid van Moolenbroek #ifndef __cplusplus 13*d56f51eaSDavid van Moolenbroek #ifdef __GNUC__ 14*d56f51eaSDavid van Moolenbroek #define inline __inline 15*d56f51eaSDavid van Moolenbroek #else 16*d56f51eaSDavid van Moolenbroek #define inline 17*d56f51eaSDavid van Moolenbroek #endif 18*d56f51eaSDavid van Moolenbroek #endif 19*d56f51eaSDavid van Moolenbroek 20*d56f51eaSDavid van Moolenbroek /* 21*d56f51eaSDavid van Moolenbroek * Handle new and old "dead" routine prototypes 22*d56f51eaSDavid van Moolenbroek * 23*d56f51eaSDavid van Moolenbroek * For example: 24*d56f51eaSDavid van Moolenbroek * 25*d56f51eaSDavid van Moolenbroek * __dead void foo(void) __attribute__((volatile)); 26*d56f51eaSDavid van Moolenbroek * 27*d56f51eaSDavid van Moolenbroek */ 28*d56f51eaSDavid van Moolenbroek #ifdef __GNUC__ 29*d56f51eaSDavid van Moolenbroek #ifndef __dead 30*d56f51eaSDavid van Moolenbroek #define __dead volatile 31*d56f51eaSDavid van Moolenbroek #endif 32*d56f51eaSDavid van Moolenbroek #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) 33*d56f51eaSDavid van Moolenbroek #ifndef __attribute__ 34*d56f51eaSDavid van Moolenbroek #define __attribute__(args) 35*d56f51eaSDavid van Moolenbroek #endif 36*d56f51eaSDavid van Moolenbroek #endif 37*d56f51eaSDavid van Moolenbroek #else 38*d56f51eaSDavid van Moolenbroek #ifndef __dead 39*d56f51eaSDavid van Moolenbroek #define __dead 40*d56f51eaSDavid van Moolenbroek #endif 41*d56f51eaSDavid van Moolenbroek #ifndef __attribute__ 42*d56f51eaSDavid van Moolenbroek #define __attribute__(args) 43*d56f51eaSDavid van Moolenbroek #endif 44*d56f51eaSDavid van Moolenbroek #endif 45