Index: libcxx/test/std/re/re.badexp/regex_error.pass.cpp =================================================================== --- libcxx/test/std/re/re.badexp/regex_error.pass.cpp +++ libcxx/test/std/re/re.badexp/regex_error.pass.cpp @@ -25,72 +25,98 @@ { std::regex_error e(std::regex_constants::error_collate); assert(e.code() == std::regex_constants::error_collate); +#ifdef _LIBCPP_VERSION assert(e.what() == std::string("The expression contained an invalid collating element name.")); +#endif } { std::regex_error e(std::regex_constants::error_ctype); assert(e.code() == std::regex_constants::error_ctype); +#ifdef _LIBCPP_VERSION assert(e.what() == std::string("The expression contained an invalid character class name.")); +#endif } { std::regex_error e(std::regex_constants::error_escape); assert(e.code() == std::regex_constants::error_escape); +#ifdef _LIBCPP_VERSION assert(e.what() == std::string("The expression contained an invalid escaped character, or a " "trailing escape.")); +#endif } { std::regex_error e(std::regex_constants::error_backref); assert(e.code() == std::regex_constants::error_backref); +#ifdef _LIBCPP_VERSION assert(e.what() == std::string("The expression contained an invalid back reference.")); +#endif } { std::regex_error e(std::regex_constants::error_brack); assert(e.code() == std::regex_constants::error_brack); +#ifdef _LIBCPP_VERSION assert(e.what() == std::string("The expression contained mismatched [ and ].")); +#endif } { std::regex_error e(std::regex_constants::error_paren); assert(e.code() == std::regex_constants::error_paren); +#ifdef _LIBCPP_VERSION assert(e.what() == std::string("The expression contained mismatched ( and ).")); +#endif } { std::regex_error e(std::regex_constants::error_brace); assert(e.code() == std::regex_constants::error_brace); +#ifdef _LIBCPP_VERSION assert(e.what() == std::string("The expression contained mismatched { and }.")); +#endif } { std::regex_error e(std::regex_constants::error_badbrace); assert(e.code() == std::regex_constants::error_badbrace); +#ifdef _LIBCPP_VERSION assert(e.what() == std::string("The expression contained an invalid range in a {} expression.")); +#endif } { std::regex_error e(std::regex_constants::error_range); assert(e.code() == std::regex_constants::error_range); +#ifdef _LIBCPP_VERSION assert(e.what() == std::string("The expression contained an invalid character range, " "such as [b-a] in most encodings.")); +#endif } { std::regex_error e(std::regex_constants::error_space); assert(e.code() == std::regex_constants::error_space); +#ifdef _LIBCPP_VERSION assert(e.what() == std::string("There was insufficient memory to convert the expression into " "a finite state machine.")); +#endif } { std::regex_error e(std::regex_constants::error_badrepeat); assert(e.code() == std::regex_constants::error_badrepeat); +#ifdef _LIBCPP_VERSION assert(e.what() == std::string("One of *?+{ was not preceded by a valid regular expression.")); +#endif } { std::regex_error e(std::regex_constants::error_complexity); assert(e.code() == std::regex_constants::error_complexity); +#ifdef _LIBCPP_VERSION assert(e.what() == std::string("The complexity of an attempted match against a regular " "expression exceeded a pre-set level.")); +#endif } { std::regex_error e(std::regex_constants::error_stack); assert(e.code() == std::regex_constants::error_stack); +#ifdef _LIBCPP_VERSION assert(e.what() == std::string("There was insufficient memory to determine whether the regular " "expression could match the specified character sequence.")); +#endif } return 0; Index: libcxx/test/std/re/re.const/re.synopt/syntax_option_type.pass.cpp =================================================================== --- libcxx/test/std/re/re.const/re.synopt/syntax_option_type.pass.cpp +++ libcxx/test/std/re/re.const/re.synopt/syntax_option_type.pass.cpp @@ -38,7 +38,8 @@ assert(std::regex_constants::nosubs != 0); assert(std::regex_constants::optimize != 0); assert(std::regex_constants::collate != 0); -#ifdef _LIBCPP_ABI_REGEX_CONSTANTS_NONZERO // https://llvm.org/PR35967 +#if defined _LIBCPP_ABI_REGEX_CONSTANTS_NONZERO || !defined _LIBCPP_VERSION + // https://llvm.org/PR35967 assert(std::regex_constants::ECMAScript != 0); #else assert(std::regex_constants::ECMAScript == 0);