00001 #ifndef foopulsegccmacrohfoo
00002 #define foopulsegccmacrohfoo
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00028 #ifdef __GNUC__
00029 #define PA_GCC_PRINTF_ATTR(a,b) __attribute__ ((format (printf, a, b)))
00030 #else
00031
00032 #define PA_GCC_PRINTF_ATTR(a,b)
00033 #endif
00034
00035 #if defined(__GNUC__) && (__GNUC__ >= 4)
00036 #define PA_GCC_SENTINEL __attribute__ ((sentinel))
00037 #else
00038
00039 #define PA_GCC_SENTINEL
00040 #endif
00041
00042 #ifdef __GNUC__
00043 #define PA_GCC_NORETURN __attribute__((noreturn))
00044 #else
00045
00046 #define PA_GCC_NORETURN
00047 #endif
00048
00049 #ifdef __GNUC__
00050 #define PA_GCC_UNUSED __attribute__ ((unused))
00051 #else
00052
00053 #define PA_GCC_UNUSED
00054 #endif
00055
00056 #ifdef __GNUC__
00057 #define PA_GCC_DESTRUCTOR __attribute__ ((destructor))
00058 #else
00059
00060 #define PA_GCC_DESTRUCTOR
00061 #endif
00062
00063 #ifndef PA_GCC_PURE
00064 #ifdef __GNUC__
00065 #define PA_GCC_PURE __attribute__ ((pure))
00066 #else
00067
00068 #define PA_GCC_PURE
00069 #endif
00070 #endif
00071
00072 #ifndef PA_GCC_CONST
00073 #ifdef __GNUC__
00074 #define PA_GCC_CONST __attribute__ ((const))
00075 #else
00076
00077 #define PA_GCC_CONST
00078 #endif
00079 #endif
00080
00081 #ifndef PA_GCC_DEPRECATED
00082 #ifdef __GNUC__
00083 #define PA_GCC_DEPRECATED __attribute__ ((deprecated))
00084 #else
00085
00086 #define PA_GCC_DEPRECATED
00087 #endif
00088 #endif
00089
00090 #ifndef PA_GCC_PACKED
00091 #ifdef __GNUC__
00092 #define PA_GCC_PACKED __attribute__ ((packed))
00093 #else
00094
00095 #define PA_GCC_PACKED
00096 #endif
00097 #endif
00098
00099 #ifndef PA_GCC_ALLOC_SIZE
00100 #if defined(__GNUC__) && (__GNUC__ >= 4) && (__GNUC_MINOR__ >= 3)
00101 #define PA_GCC_ALLOC_SIZE(x) __attribute__ ((__alloc_size__(x)))
00102 #define PA_GCC_ALLOC_SIZE2(x,y) __attribute__ ((__alloc_size__(x,y)))
00103 #else
00104
00105 #define PA_GCC_ALLOC_SIZE(x)
00106
00107 #define PA_GCC_ALLOC_SIZE2(x,y)
00108 #endif
00109 #endif
00110
00111 #ifndef PA_GCC_MALLOC
00112 #ifdef __GNUC__
00113 #define PA_GCC_MALLOC __attribute__ ((malloc))
00114 #else
00115
00116 #define PA_GCC_MALLOC
00117 #endif
00118 #endif
00119
00120 #ifndef PA_GCC_WEAKREF
00121 #if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ > 1)) || (__GNUC__ > 4))
00122
00123 #define PA_GCC_WEAKREF(x) __attribute__((weakref(#x)));
00124 #endif
00125 #endif
00126
00127 #endif