00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _ASTERISK_COMPILER_H
00024 #define _ASTERISK_COMPILER_H
00025
00026 #ifdef HAVE_ATTRIBUTE_always_inline
00027 #define force_inline __attribute__((always_inline)) inline
00028 #else
00029 #define force_inline inline
00030 #endif
00031
00032 #ifdef HAVE_ATTRIBUTE_pure
00033 #define attribute_pure __attribute__((pure))
00034 #else
00035 #define attribute_pure
00036 #endif
00037
00038 #ifdef HAVE_ATTRIBUTE_const
00039 #define attribute_const __attribute__((const))
00040 #else
00041 #define attribute_const
00042 #endif
00043
00044 #ifdef HAVE_ATTRIBUTE_unused
00045 #define attribute_unused __attribute__((unused))
00046 #else
00047 #define attribute_unused
00048 #endif
00049
00050 #ifdef HAVE_ATTRIBUTE_malloc
00051 #define attribute_malloc __attribute__((malloc))
00052 #else
00053 #define attribute_malloc
00054 #endif
00055
00056 #ifdef HAVE_ATTRIBUTE_deprecated
00057 #define attribute_deprecated __attribute__((deprecated))
00058 #else
00059 #define attribute_deprecated
00060 #endif
00061
00062 #ifdef HAVE_ATTRIBUTE_warn_unused_result
00063 #define attribute_warn_unused_result __attribute__((warn_unused_result))
00064 #else
00065 #define attribute_warn_unused_result
00066 #endif
00067
00068 #endif