xref: /haiku/src/bin/network/traceroute/gnuc.h (revision 0786dcba419b2e70dbe28b431c5e6ba42d173c35)
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