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