1511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall/* @(#) $Header: /tcpdump/master/libpcap/Win32/Include/Gnuc.h,v 1.1 2002-08-01 08:33:05 risso Exp $ (LBL) */
2511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
3511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall/* Define __P() macro, if necessary */
4511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
5511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#ifndef __P
6511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#if __STDC__
7511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#define __P(protos) protos
8511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#else
9511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#define __P(protos) ()
10511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#endif
11511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#endif
12511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
13511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall/* inline foo */
14511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#ifndef __cplusplus
15511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#ifdef __GNUC__
16511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#define inline __inline
17511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#else
18511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#define inline
19511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#endif
20511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#endif
21511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
22511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall/*
23511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * Handle new and old "dead" routine prototypes
24511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall *
25511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall * For example:
26511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall *
27511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall *	__dead void foo(void) __attribute__((volatile));
28511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall *
29511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall */
30511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#ifdef __GNUC__
31511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#ifndef __dead
32511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#define __dead volatile
33511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#endif
34511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#if __GNUC__ < 2  || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
35511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#ifndef __attribute__
36511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#define __attribute__(args)
37511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#endif
38511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#endif
39511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#else
40511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#ifndef __dead
41511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#define __dead
42511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#endif
43511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#ifndef __attribute__
44511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#define __attribute__(args)
45511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#endif
46511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#endif
47