Go to the documentation of this file.
18 #ifndef INTERNAL_COMPILER_MACROS_H_
19 #define INTERNAL_COMPILER_MACROS_H_
26 #if defined( __sgi ) && !defined( __GNUC__ )
27 # if defined( _COMPILER_VERSION ) && ( _COMPILER_VERSION >= 730 )
28 # pragma set woff 3505
33 #if defined( __sgi ) && !defined( __GNUC__ )
34 # if defined( _COMPILER_VERSION ) && ( _COMPILER_VERSION >= 730 )
35 # pragma set woff 3505
53 #define FT_BEGIN_STMNT do {
54 #define FT_END_STMNT } while ( 0 )
72 #define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT
77 #define FT_UINT_TO_POINTER( x ) (void *)(unsigned __int64)(x)
79 #define FT_UINT_TO_POINTER( x ) (void *)(unsigned long)(x)
93 #if ( ( defined( __GNUC__ ) && __GNUC__ >= 2 ) || \
94 ( defined( __IBMC__ ) && __IBMC__ >= 1210 && \
95 defined( __IBM__TYPEOF__ ) ) || \
96 ( defined( __SUNPRO_C ) && __SUNPRO_C >= 0x5110 && !__STDC__ ) )
97 #define FT_TYPEOF( type ) ( __typeof__ ( type ) )
99 #define FT_TYPEOF( type )
110 #if defined( _WIN32 )
111 #define FT_INTERNAL_FUNCTION_ATTRIBUTE
114 #elif ( defined( __GNUC__ ) && __GNUC__ >= 4 ) || defined( __clang__ )
115 #define FT_INTERNAL_FUNCTION_ATTRIBUTE \
116 __attribute__(( visibility( "hidden" ) ))
119 #elif defined( __SUNPRO_C ) && __SUNPRO_C >= 0x550
120 #define FT_INTERNAL_FUNCTION_ATTRIBUTE __hidden
123 #define FT_INTERNAL_FUNCTION_ATTRIBUTE
158 #define FT_FUNCTION_DECLARATION( x ) extern x
167 #define FT_FUNCTION_DEFINITION( x ) extern "C" x
169 #define FT_FUNCTION_DEFINITION( x ) x
179 #ifdef FT_MAKE_OPTION_SINGLE_OBJECT
181 #define FT_LOCAL( x ) static x
182 #define FT_LOCAL_DEF( x ) static x
186 #define FT_LOCAL( x ) FT_INTERNAL_FUNCTION_ATTRIBUTE \
187 FT_FUNCTION_DECLARATION( x )
188 #define FT_LOCAL_DEF( x ) FT_FUNCTION_DEFINITION( x )
198 #define FT_LOCAL_ARRAY( x ) FT_INTERNAL_FUNCTION_ATTRIBUTE \
200 #define FT_LOCAL_ARRAY_DEF( x ) FT_FUNCTION_DEFINITION( const x )
206 #define FT_BASE( x ) FT_INTERNAL_FUNCTION_ATTRIBUTE \
207 FT_FUNCTION_DECLARATION( x )
208 #define FT_BASE_DEF( x ) FT_FUNCTION_DEFINITION( x )
215 #ifndef FT_EXPORT_VAR
216 #define FT_EXPORT_VAR( x ) FT_FUNCTION_DECLARATION( x )
255 #define FT_EXPORT_DEF( x ) FT_FUNCTION_DEFINITION( x )
287 #define FT_CALLBACK_DEF( x ) extern "C" x
289 #define FT_CALLBACK_DEF( x ) static x
292 #define FT_BASE_CALLBACK( x ) FT_FUNCTION_DECLARATION( x )
293 #define FT_BASE_CALLBACK_DEF( x ) FT_FUNCTION_DEFINITION( x )
295 #ifndef FT_CALLBACK_TABLE
297 #define FT_CALLBACK_TABLE extern "C"
298 #define FT_CALLBACK_TABLE_DEF extern "C"
300 #define FT_CALLBACK_TABLE extern
301 #define FT_CALLBACK_TABLE_DEF