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
00025 #ifdef __GNUC__
00026 #define PA_GCC_PRINTF_ATTR(a,b) __attribute__ ((format (printf, a, b)))
00027 #else
00028
00029 #define PA_GCC_PRINTF_ATTR(a,b)
00030 #endif
00031
00032 #if defined(__GNUC__) && (__GNUC__ >= 4)
00033 #define PA_GCC_SENTINEL __attribute__ ((sentinel))
00034 #else
00035
00036 #define PA_GCC_SENTINEL
00037 #endif
00038
00039 #ifdef __GNUC__
00040 #define PA_GCC_NORETURN __attribute__((noreturn))
00041 #else
00042
00043 #define PA_GCC_NORETURN
00044 #endif
00045
00046 #ifdef __GNUC__
00047 #define PA_GCC_UNUSED __attribute__ ((unused))
00048 #else
00049
00050 #define PA_GCC_UNUSED
00051 #endif
00052
00053 #ifdef __GNUC__
00054 #define PA_GCC_DESTRUCTOR __attribute__ ((destructor))
00055 #else
00056
00057 #define PA_GCC_DESTRUCTOR
00058 #endif
00059
00060 #ifndef PA_GCC_PURE
00061 #ifdef __GNUC__
00062 #define PA_GCC_PURE __attribute__ ((pure))
00063 #else
00064
00065 #define PA_GCC_PURE
00066 #endif
00067 #endif
00068
00069 #ifndef PA_GCC_CONST
00070 #ifdef __GNUC__
00071 #define PA_GCC_CONST __attribute__ ((const))
00072 #else
00073
00074 #define PA_GCC_CONST
00075 #endif
00076 #endif
00077
00078 #ifndef PA_GCC_DEPRECATED
00079 #ifdef __GNUC__
00080 #define PA_GCC_DEPRECATED __attribute__ ((deprecated))
00081 #else
00082
00083 #define PA_GCC_DEPRECATED
00084 #endif
00085 #endif
00086
00087 #ifndef PA_GCC_PACKED
00088 #ifdef __GNUCC__
00089 #define PA_GCC_PACKED __attribute__ ((packed))
00090 #else
00091
00092 #define PA_GCC_PACKED
00093 #endif
00094 #endif
00095
00096 #ifndef PA_GCC_ALLOC_SIZE
00097 #if defined(__GNUC__) && (__GNUC__ >= 4) && (__GNUC_MINOR__ >= 3)
00098 #define PA_GCC_ALLOC_SIZE(x) __attribute__ ((__alloc_size__(x)))
00099 #define PA_GCC_ALLOC_SIZE2(x,y) __attribute__ ((__alloc_size__(x,y)))
00100 #else
00101
00102 #define PA_GCC_ALLOC_SIZE(x)
00103 #define PA_GCC_ALLOC_SIZE2(x,y)
00104 #endif
00105 #endif
00106
00107 #ifndef PA_GCC_MALLOC
00108 #ifdef __GNUCC__
00109 #define PA_GCC_MALLOC __attribute__ ((malloc))
00110 #else
00111
00112 #define PA_GCC_MALLOC
00113 #endif
00114 #endif
00115
00116 #endif