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