1*0786dcbaSAxel Dörfler /* @(#) $Header: gnuc.h,v 1.3 95/10/09 02:47:01 leres Exp $ (LBL) */ 2*0786dcbaSAxel Dörfler 3*0786dcbaSAxel Dörfler /* Define __P() macro, if necessary */ 4*0786dcbaSAxel Dörfler #ifndef __P 5*0786dcbaSAxel Dörfler #if __STDC__ 6*0786dcbaSAxel Dörfler #define __P(protos) protos 7*0786dcbaSAxel Dörfler #else 8*0786dcbaSAxel Dörfler #define __P(protos) () 9*0786dcbaSAxel Dörfler #endif 10*0786dcbaSAxel Dörfler #endif 11*0786dcbaSAxel Dörfler 12*0786dcbaSAxel Dörfler /* inline foo */ 13*0786dcbaSAxel Dörfler #ifdef __GNUC__ 14*0786dcbaSAxel Dörfler #define inline __inline 15*0786dcbaSAxel Dörfler #else 16*0786dcbaSAxel Dörfler #define inline 17*0786dcbaSAxel Dörfler #endif 18*0786dcbaSAxel Dörfler 19*0786dcbaSAxel Dörfler /* 20*0786dcbaSAxel Dörfler * Handle new and old "dead" routine prototypes 21*0786dcbaSAxel Dörfler * 22*0786dcbaSAxel Dörfler * For example: 23*0786dcbaSAxel Dörfler * 24*0786dcbaSAxel Dörfler * __dead void foo(void) __attribute__((volatile)); 25*0786dcbaSAxel Dörfler * 26*0786dcbaSAxel Dörfler */ 27*0786dcbaSAxel Dörfler #ifdef __GNUC__ 28*0786dcbaSAxel Dörfler #ifndef __dead 29*0786dcbaSAxel Dörfler #define __dead volatile 30*0786dcbaSAxel Dörfler #endif 31*0786dcbaSAxel Dörfler #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) 32*0786dcbaSAxel Dörfler #ifndef __attribute__ 33*0786dcbaSAxel Dörfler #define __attribute__(args) 34*0786dcbaSAxel Dörfler #endif 35*0786dcbaSAxel Dörfler #endif 36*0786dcbaSAxel Dörfler #else 37*0786dcbaSAxel Dörfler #ifndef __dead 38*0786dcbaSAxel Dörfler #define __dead 39*0786dcbaSAxel Dörfler #endif 40*0786dcbaSAxel Dörfler #ifndef __attribute__ 41*0786dcbaSAxel Dörfler #define __attribute__(args) 42*0786dcbaSAxel Dörfler #endif 43*0786dcbaSAxel Dörfler #endif 44