PulseAudio
1.1
|
00001 #ifndef foopulsegccmacrohfoo 00002 #define foopulsegccmacrohfoo 00003 00004 /*** 00005 This file is part of PulseAudio. 00006 00007 Copyright 2004-2006 Lennart Poettering 00008 00009 PulseAudio is free software; you can redistribute it and/or modify 00010 it under the terms of the GNU Lesser General Public License as published 00011 by the Free Software Foundation; either version 2.1 of the License, 00012 or (at your option) any later version. 00013 00014 PulseAudio is distributed in the hope that it will be useful, but 00015 WITHOUT ANY WARRANTY; without even the implied warranty of 00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 General Public License for more details. 00018 00019 You should have received a copy of the GNU Lesser General Public License 00020 along with PulseAudio; if not, write to the Free Software 00021 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 00022 USA. 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__) && defined(__ELF__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ > 1)) || (__GNUC__ > 4)) 00122 00123 #define PA_GCC_WEAKREF(x) __attribute__((weakref(#x))) 00124 #endif 00125 #endif 00126 00127 #endif