
On 10/10/2011 09:03 PM, Vicente J. Botet Escriba wrote:
I don't know if the better place to define these macros is in the suffix.hpp file. This file is intendeed to define macros that can be defined independently of compiler versions or platforms. IMO the good place is to include them in the specific compiler file, and define them as empty in suffix if not already defined.
boost/config/suffix.hpp
#if !defined(BOOST_FORCEINLINE) #define BOOST_FORCEINLINE inline #endif
boost/config/compiler/gcc.hpp
# if defined(__GNUC__)&& __GNUC__> 3 # define BOOST_FORCEINLINE inline __attribute__ ((always_inline)) # endif
boost/config/compiler/visualc.hpp
# define BOOST_FORCEINLINE __forceinline
Those macros are for compilers that behave like GCC and those that behave like MSVC, and are not restricted to the real GCC or MSVC; I don't know if placing them in those files will be enough. Also, it seems to me those files are only used for the BOOST_NO_XXX family of macros.