id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 12144,Clang 3.9 trunk DONT_USE_HAS_NEW_OPERATOR warning,drivehappy@…,Robert Ramey,"Clang 3.9 is reporting the following warning: {{{ boost/boost.1.58.0/boost/archive/detail/iserializer.hpp:65:7: error: macro expansion producing 'defined' has undefined behavior [-Werror,-Wexpansion-to-defined] #if ! DONT_USE_HAS_NEW_OPERATOR ^ boost/boost.1.58.0/boost/archive/detail/iserializer.hpp:61:5: note: expanded from macro 'DONT_USE_HAS_NEW_OPERATOR' defined(__BORLANDC__) \ ^ }}} I believe this may have been initially fixed with: https://svn.boost.org/trac/boost/ticket/8120 Changing the source to not directly #define on #defined seems to resolve this warning: {{{ #ifndef BOOST_MSVC #if BOOST_WORKAROUND(__IBMCPP__, < 1210) \ || defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x590) #define DONT_USE_HAS_NEW_OPERATOR 1 #else #define DONT_USE_HAS_NEW_OPERATOR 0 #endif #else #define DONT_USE_HAS_NEW_OPERATOR 0 #endif }}}",Bugs,reopened,To Be Determined,serialization,Boost 1.61.0,Problem,,,