WTF
AlwaysInline.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <wtf/Platform.h>
00022
00023
00024 #ifndef ALWAYS_INLINE
00025 #if COMPILER(GCC) && defined(NDEBUG) && __GNUC__ > 3
00026 #define ALWAYS_INLINE inline __attribute__ ((__always_inline__))
00027 #elif COMPILER(MSVC) && defined(NDEBUG)
00028 #define ALWAYS_INLINE __forceinline
00029 #else
00030 #define ALWAYS_INLINE inline
00031 #endif
00032 #endif
00033
00034 #ifndef ALWAYS_INLINE_INTO
00035 #if COMPILER(GCC) && defined(NDEBUG) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || __GNUC__ > 4)
00036 #define ALWAYS_INLINE_INTO __attribute__ ((__flatten__))
00037 #else
00038 #define ALWAYS_INLINE_INTO
00039 #endif
00040 #endif
00041
00042
00043 #ifndef NEVER_INLINE
00044 #if COMPILER(GCC) && __GNUC__ > 3
00045 #define NEVER_INLINE __attribute__ ((__noinline__))
00046 #else
00047 #define NEVER_INLINE
00048 #endif
00049 #endif