diff --git a/include/boost/regex/v4/match_flags.hpp b/include/boost/regex/v4/match_flags.hpp index 0ac8f8cf..1dc4a5c9 100644 --- a/include/boost/regex/v4/match_flags.hpp +++ b/include/boost/regex/v4/match_flags.hpp @@ -72,7 +72,7 @@ typedef enum _match_flags } match_flags; -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1200) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1200) || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) || defined(__SUNPRO_CC) typedef unsigned long match_flag_type; #else typedef match_flags match_flag_type; diff --git a/include/boost/regex/v4/perl_matcher_common.hpp b/include/boost/regex/v4/perl_matcher_common.hpp index 7a454047..20148375 100644 --- a/include/boost/regex/v4/perl_matcher_common.hpp +++ b/include/boost/regex/v4/perl_matcher_common.hpp @@ -54,7 +54,7 @@ perl_matcher::perl_matcher(BidiIter estimate_max_state_count(static_cast(0)); if(!(m_match_flags & (match_perl|match_posix))) { - if(re.flags() & regex_constants::perlex) + if((re.flags() & regex_constants::perlex) || (re.flags() & regex_constants::literal)) m_match_flags |= match_perl; else m_match_flags |= match_posix;