1*7f5f010bSBen Gras /* $NetBSD: gnuc.h,v 1.2 2002/07/06 21:51:49 wiz Exp $ */ 2*7f5f010bSBen Gras 3*7f5f010bSBen Gras /* @(#) Header: gnuc.h,v 1.3 95/10/09 02:47:01 leres Exp (LBL) */ 4*7f5f010bSBen Gras 5*7f5f010bSBen Gras /* inline foo */ 6*7f5f010bSBen Gras #ifdef __GNUC__ 7*7f5f010bSBen Gras #define inline __inline 8*7f5f010bSBen Gras #else 9*7f5f010bSBen Gras #define inline 10*7f5f010bSBen Gras #endif 11*7f5f010bSBen Gras 12*7f5f010bSBen Gras /* 13*7f5f010bSBen Gras * Handle new and old "dead" routine prototypes 14*7f5f010bSBen Gras * 15*7f5f010bSBen Gras * For example: 16*7f5f010bSBen Gras * 17*7f5f010bSBen Gras * __dead void foo(void) __attribute__((volatile)); 18*7f5f010bSBen Gras * 19*7f5f010bSBen Gras */ 20*7f5f010bSBen Gras #ifdef __GNUC__ 21*7f5f010bSBen Gras #ifndef __dead 22*7f5f010bSBen Gras #define __dead volatile 23*7f5f010bSBen Gras #endif 24*7f5f010bSBen Gras #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) 25*7f5f010bSBen Gras #ifndef __attribute__ 26*7f5f010bSBen Gras #define __attribute__(args) 27*7f5f010bSBen Gras #endif 28*7f5f010bSBen Gras #endif 29*7f5f010bSBen Gras #else 30*7f5f010bSBen Gras #ifndef __dead 31*7f5f010bSBen Gras #define __dead 32*7f5f010bSBen Gras #endif 33*7f5f010bSBen Gras #ifndef __attribute__ 34*7f5f010bSBen Gras #define __attribute__(args) 35*7f5f010bSBen Gras #endif 36*7f5f010bSBen Gras #endif 37