xref: /minix3/external/bsd/libpcap/dist/Win32/Include/Gnuc.h (revision d56f51ea7d8b9045e5c8e2028422523d3f9a5840)
1*d56f51eaSDavid van Moolenbroek /* Define __P() macro, if necessary */
2*d56f51eaSDavid van Moolenbroek 
3*d56f51eaSDavid van Moolenbroek #ifndef __P
4*d56f51eaSDavid van Moolenbroek #if __STDC__
5*d56f51eaSDavid van Moolenbroek #define __P(protos) protos
6*d56f51eaSDavid van Moolenbroek #else
7*d56f51eaSDavid van Moolenbroek #define __P(protos) ()
8*d56f51eaSDavid van Moolenbroek #endif
9*d56f51eaSDavid van Moolenbroek #endif
10*d56f51eaSDavid van Moolenbroek 
11*d56f51eaSDavid van Moolenbroek /* inline foo */
12*d56f51eaSDavid van Moolenbroek #ifndef __cplusplus
13*d56f51eaSDavid van Moolenbroek #ifdef __GNUC__
14*d56f51eaSDavid van Moolenbroek #define inline __inline
15*d56f51eaSDavid van Moolenbroek #else
16*d56f51eaSDavid van Moolenbroek #define inline
17*d56f51eaSDavid van Moolenbroek #endif
18*d56f51eaSDavid van Moolenbroek #endif
19*d56f51eaSDavid van Moolenbroek 
20*d56f51eaSDavid van Moolenbroek /*
21*d56f51eaSDavid van Moolenbroek  * Handle new and old "dead" routine prototypes
22*d56f51eaSDavid van Moolenbroek  *
23*d56f51eaSDavid van Moolenbroek  * For example:
24*d56f51eaSDavid van Moolenbroek  *
25*d56f51eaSDavid van Moolenbroek  *	__dead void foo(void) __attribute__((volatile));
26*d56f51eaSDavid van Moolenbroek  *
27*d56f51eaSDavid van Moolenbroek  */
28*d56f51eaSDavid van Moolenbroek #ifdef __GNUC__
29*d56f51eaSDavid van Moolenbroek #ifndef __dead
30*d56f51eaSDavid van Moolenbroek #define __dead volatile
31*d56f51eaSDavid van Moolenbroek #endif
32*d56f51eaSDavid van Moolenbroek #if __GNUC__ < 2  || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
33*d56f51eaSDavid van Moolenbroek #ifndef __attribute__
34*d56f51eaSDavid van Moolenbroek #define __attribute__(args)
35*d56f51eaSDavid van Moolenbroek #endif
36*d56f51eaSDavid van Moolenbroek #endif
37*d56f51eaSDavid van Moolenbroek #else
38*d56f51eaSDavid van Moolenbroek #ifndef __dead
39*d56f51eaSDavid van Moolenbroek #define __dead
40*d56f51eaSDavid van Moolenbroek #endif
41*d56f51eaSDavid van Moolenbroek #ifndef __attribute__
42*d56f51eaSDavid van Moolenbroek #define __attribute__(args)
43*d56f51eaSDavid van Moolenbroek #endif
44*d56f51eaSDavid van Moolenbroek #endif
45