X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fcompat.h;h=7f9cd9d81a0cde98f8354660f87fa16afc43085b;hb=a9525bbb61e51961006e888b4413649c46f04c9a;hp=a58eaa27f2e39cf06dcaf281676f3d29911feecf;hpb=4c0037aecd96cf23da727c12381723ab5cbfa5e4;p=util-vserver.git diff --git a/util-vserver/compat.h b/util-vserver/compat.h index a58eaa2..7f9cd9d 100644 --- a/util-vserver/compat.h +++ b/util-vserver/compat.h @@ -19,7 +19,7 @@ #ifndef H_UTIL_VSERVER_COMPAT_H #define H_UTIL_VSERVER_COMPAT_H -#if defined(__dietlibc__) && defined(__STRICT_ANSI__) && defined(__STDC_VERSION__) +#if defined(__dietlibc__) && !defined(ENSC_DIETLIBC_C99) && defined(__STRICT_ANSI__) && defined(__STDC_VERSION__) # include # undef inline @@ -28,21 +28,40 @@ # define __STRICT_ANSI__ #endif +#if defined(__dietlibc__) +# define ENSC_FIX_IOCTL(X) do { if ((X)<-1) { errno=-(X); (X) = -1; } } while (0) +#else +# define ENSC_FIX_IOCTL(X) do { } while (0) +#endif + #if defined(__GNUC__) # define UNUSED __attribute__((__unused__)) # define NORETURN __attribute__((__noreturn__)) -# if __GNUC__>3 || (__GNUC__==3 && __GNUC__MINOR>=3) +# define CONST __attribute__((__const__)) +# if __GNUC__*0x10000 + __GNUC_MINOR__*0x100 + __GNUC_PATCHLEVEL__ >= 0x30300 # define NONNULL(ARGS) __attribute__((__nonnull__ ARGS)) # define ALWAYSINLINE __attribute__((__always_inline__)) # else # define NONNULL(ARGS) # define ALWAYSINLINE +# define PURE +# endif +# if __GNUC__*0x10000 + __GNUC_MINOR__*0x100 + __GNUC_PATCHLEVEL__ >= 0x30303 +# define PURE __attribute__((__pure__)) +# else +# define PURE # endif #else # define NONNULL(ARGS) # define UNUSED # define NORETURN # define ALWAYSINLINE +# define PURE +# define CONST +#endif + +#if !defined(__builtin_expect) && (__GNUC__+0)<3 +# define __builtin_expect(foo,bar) (foo) #endif #if !defined(__STDC_VERSION__) || (__STDC_VERSION__<199901L)