diff options
Diffstat (limited to 'src/xine-utils/attributes.h')
-rw-r--r-- | src/xine-utils/attributes.h | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/src/xine-utils/attributes.h b/src/xine-utils/attributes.h index b533286c8..a9be4792f 100644 --- a/src/xine-utils/attributes.h +++ b/src/xine-utils/attributes.h @@ -1,8 +1,10 @@ /* * attributes.h * Copyright (C) 1999-2000 Aaron Holtzman <aholtzma@ess.engr.uvic.ca> + * Copyright (C) 2001-2007 xine developers * - * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * This file was originally part of mpeg2dec, a free MPEG-2 video stream + * decoder. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,40 +32,28 @@ #define ATTR_ALIGN(align) #endif -/* disable GNU __attribute__ extension, when not compiling with GNU C */ -#if defined(__GNUC__) || defined (__ICC) -#ifndef ATTRIBUTE_PACKED -#define ATTRIBUTE_PACKED 1 -#endif -#else -#undef ATTRIBUTE_PACKED -#ifndef __attribute__ -#define __attribute__(x) /**/ -#endif /* __attribute __*/ -#endif - #ifdef XINE_COMPILE -# include "config.h" +# include "configure.h" #endif /* Export protected only for libxine functions */ #if defined(XINE_LIBRARY_COMPILE) && defined(SUPPORT_ATTRIBUTE_VISIBILITY_PROTECTED) -# define XINE_PROTECTED __attribute__((visibility("protected"))) +# define XINE_PROTECTED __attribute__((__visibility__("protected"))) #elif defined(XINE_LIBRARY_COMPILE) && defined(SUPPORT_ATTRIBUTE_VISIBILITY_DEFAULT) -# define XINE_PROTECTED __attribute__((visibility("default"))) +# define XINE_PROTECTED __attribute__((__visibility__("default"))) #else # define XINE_PROTECTED #endif #ifdef SUPPORT_ATTRIBUTE_SENTINEL -# define XINE_SENTINEL __attribute__((sentinel)) +# define XINE_SENTINEL __attribute__((__sentinel__)) #else # define XINE_SENTINEL #endif #ifndef __attr_unused # ifdef SUPPORT_ATTRIBUTE_UNUSED -# define __attr_unused __attribute__((unused)) +# define __attr_unused __attribute__((__unused__)) # else # define __attr_unused # endif @@ -71,14 +61,26 @@ /* Format attributes */ #ifdef SUPPORT_ATTRIBUTE_FORMAT -# define XINE_FORMAT_PRINTF(fmt,var) __attribute__((format(printf, fmt, var))) +# define XINE_FORMAT_PRINTF(fmt,var) __attribute__((__format__(__printf__, fmt, var))) #else # define XINE_FORMAT_PRINTF(fmt,var) #endif #ifdef SUPPORT_ATTRIBUTE_FORMAT_ARG -# define XINE_FORMAT_PRINTF_ARG(fmt) __attribute__((format_arg(fmt))) +# define XINE_FORMAT_PRINTF_ARG(fmt) __attribute__((__format_arg__(fmt))) #else # define XINE_FORMAT_PRINTF_ARG(fmt) #endif +#ifdef SUPPORT_ATTRIBUTE_PACKED +# define XINE_PACKED __attribute__((packed)) +#else +# define XINE_PACKED +#endif + +#ifdef SUPPORT_ATTRIBUTE_MALLOC +# define XINE_MALLOC __attribute__((__malloc__)) +#else +# define XINE_MALLOC +#endif + #endif /* ATTRIBUTE_H_ */ |