xref: /netbsd-src/usr.sbin/traceroute/gnuc.h (revision 56b7e3b32653357b4831b05bcea19322525d46dd)
1*56b7e3b3Swiz /*	$NetBSD: gnuc.h,v 1.2 2002/07/06 21:51:49 wiz Exp $	*/
2313a9cffSchristos 
3313a9cffSchristos /* @(#) Header: gnuc.h,v 1.3 95/10/09 02:47:01 leres Exp  (LBL) */
4313a9cffSchristos 
5313a9cffSchristos /* inline foo */
6313a9cffSchristos #ifdef __GNUC__
7313a9cffSchristos #define inline __inline
8313a9cffSchristos #else
9313a9cffSchristos #define inline
10313a9cffSchristos #endif
11313a9cffSchristos 
12313a9cffSchristos /*
13313a9cffSchristos  * Handle new and old "dead" routine prototypes
14313a9cffSchristos  *
15313a9cffSchristos  * For example:
16313a9cffSchristos  *
17313a9cffSchristos  *	__dead void foo(void) __attribute__((volatile));
18313a9cffSchristos  *
19313a9cffSchristos  */
20313a9cffSchristos #ifdef __GNUC__
21313a9cffSchristos #ifndef __dead
22313a9cffSchristos #define __dead volatile
23313a9cffSchristos #endif
24313a9cffSchristos #if __GNUC__ < 2  || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
25313a9cffSchristos #ifndef __attribute__
26313a9cffSchristos #define __attribute__(args)
27313a9cffSchristos #endif
28313a9cffSchristos #endif
29313a9cffSchristos #else
30313a9cffSchristos #ifndef __dead
31313a9cffSchristos #define __dead
32313a9cffSchristos #endif
33313a9cffSchristos #ifndef __attribute__
34313a9cffSchristos #define __attribute__(args)
35313a9cffSchristos #endif
36313a9cffSchristos #endif
37