diff --git a/include/boost/regex/config.hpp b/include/boost/regex/config.hpp index 70a9a472..fa102783 100644 --- a/include/boost/regex/config.hpp +++ b/include/boost/regex/config.hpp @@ -165,7 +165,7 @@ // We don't make our templates external if the compiler // can't handle it: -#if (defined(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS) || defined(__MWERKS__) || defined(__COMO__) || defined(__ICL) || defined(__ICC))\ +#if (defined(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS) || defined(__HP_aCC) || defined(__MWERKS__) || defined(__COMO__) || defined(__ICL) || defined(__ICC))\ && !defined(BOOST_MSVC) && !defined(__BORLANDC__) # define BOOST_REGEX_NO_EXTERNAL_TEMPLATES #endif @@ -644,3 +644,4 @@ inline void pointer_construct(T* p, const T& t) + diff --git a/include/boost/regex/v3/regex_compile.hpp b/include/boost/regex/v3/regex_compile.hpp index a8613433..505353af 100644 --- a/include/boost/regex/v3/regex_compile.hpp +++ b/include/boost/regex/v3/regex_compile.hpp @@ -1266,6 +1266,10 @@ unsigned int BOOST_REGEX_CALL reg_expression::set_expr # ifdef BOOST_MSVC # pragma warning(push) # pragma warning(disable: 4127) +#endif +#ifdef __OpenBSD__ + // strxfrm not working on OpenBSD?? + f |= regbase::nocollate; #endif if(p == expression()) @@ -2110,3 +2114,4 @@ void BOOST_REGEX_CALL reg_expression::fail(unsigned in +