summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libcxx/include/regex11
-rw-r--r--libcxx/src/regex.cpp6
-rw-r--r--libcxx/test/re/re.traits/lookup_classname.pass.cpp4
3 files changed, 12 insertions, 9 deletions
diff --git a/libcxx/include/regex b/libcxx/include/regex
index bebbaf09835..5e1c37c64e8 100644
--- a/libcxx/include/regex
+++ b/libcxx/include/regex
@@ -1192,7 +1192,8 @@ regex_traits<_CharT>::__lookup_collatename(_ForwardIterator __f,
// lookup_classname
-ctype_base::mask _LIBCPP_FUNC_VIS __get_classname(const char* __s, bool __icase);
+regex_traits<char>::char_class_type _LIBCPP_FUNC_VIS
+__get_classname(const char* __s, bool __icase);
template <class _CharT>
template <class _ForwardIterator>
@@ -2184,8 +2185,8 @@ class __bracket_expression
vector<pair<string_type, string_type> > __ranges_;
vector<pair<_CharT, _CharT> > __digraphs_;
vector<string_type> __equivalences_;
- ctype_base::mask __mask_;
- ctype_base::mask __neg_mask_;
+ typename regex_traits<_CharT>::char_class_type __mask_;
+ typename regex_traits<_CharT>::char_class_type __neg_mask_;
bool __negate_;
bool __icase_;
bool __collate_;
@@ -2281,10 +2282,10 @@ public:
void __add_equivalence(const string_type& __s)
{__equivalences_.push_back(__s);}
_LIBCPP_INLINE_VISIBILITY
- void __add_class(ctype_base::mask __mask)
+ void __add_class(typename regex_traits<_CharT>::char_class_type __mask)
{__mask_ |= __mask;}
_LIBCPP_INLINE_VISIBILITY
- void __add_neg_class(ctype_base::mask __mask)
+ void __add_neg_class(typename regex_traits<_CharT>::char_class_type __mask)
{__neg_mask_ |= __mask;}
};
diff --git a/libcxx/src/regex.cpp b/libcxx/src/regex.cpp
index fb820e2bfed..17dd6eaa60a 100644
--- a/libcxx/src/regex.cpp
+++ b/libcxx/src/regex.cpp
@@ -207,7 +207,7 @@ const collationnames collatenames[] =
struct classnames
{
const char* elem_;
- ctype_base::mask mask_;
+ regex_traits<char>::char_class_type mask_;
};
#if defined(__clang__)
@@ -254,12 +254,12 @@ __get_collation_name(const char* s)
return r;
}
-ctype_base::mask
+regex_traits<char>::char_class_type
__get_classname(const char* s, bool __icase)
{
const classnames* i =
_VSTD::lower_bound(begin(ClassNames), end(ClassNames), s, use_strcmp());
- ctype_base::mask r = 0;
+ regex_traits<char>::char_class_type r = 0;
if (i != end(ClassNames) && strcmp(s, i->elem_) == 0)
{
r = i->mask_;
diff --git a/libcxx/test/re/re.traits/lookup_classname.pass.cpp b/libcxx/test/re/re.traits/lookup_classname.pass.cpp
index 75c088858b4..0b1b18eb507 100644
--- a/libcxx/test/re/re.traits/lookup_classname.pass.cpp
+++ b/libcxx/test/re/re.traits/lookup_classname.pass.cpp
@@ -22,7 +22,9 @@
template <class char_type>
void
-test(const char_type* A, std::ctype_base::mask expected, bool icase = false)
+test(const char_type* A,
+ typename std::regex_traits<char_type>::char_class_type expected,
+ bool icase = false)
{
std::regex_traits<char_type> t;
typedef forward_iterator<const char_type*> F;
OpenPOWER on IntegriCloud