diff --git a/include/boost/container/detail/workaround.hpp b/include/boost/container/detail/workaround.hpp index ef23a04..f19c85b 100644 --- a/include/boost/container/detail/workaround.hpp +++ b/include/boost/container/detail/workaround.hpp @@ -249,12 +249,12 @@ namespace boost { #define BOOST_CONTAINER_NOVTABLE #endif -#if (defined(BOOST_CLANG) && BOOST_CLANG_VERSION >= 30600) +#if defined(BOOST_CLANG) && defined(BOOST_CLANG_VERSION) && (BOOST_CLANG_VERSION >= 30600) #define BOOST_CONTAINER_UNROLL_PRAGMA(x) _Pragma(#x) #define BOOST_CONTAINER_UNROLL(n) BOOST_CONTAINER_UNROLL_PRAGMA(unroll n) -#elif (defined(BOOST_GCC) && BOOST_GCC_VERSION >= 150000) +#elif defined(BOOST_GCC) && defined(BOOST_GCC_VERSION) && (BOOST_GCC_VERSION >= 150000) // GCC < 15 emits an unsuppressible "ignoring loop annotation" warning // when the optimizer decides it cannot unroll a loop (complex iterators, // unknown trip count, etc.). This was fixed in GCC 15.