diff options
| author | Dan Albert <danalbert@google.com> | 2014-07-29 19:23:39 +0000 |
|---|---|---|
| committer | Dan Albert <danalbert@google.com> | 2014-07-29 19:23:39 +0000 |
| commit | 15c010a37e28f28b85fc08a3fa5c3b8090217500 (patch) | |
| tree | 99d13a684a6a5a943f50f8b453ef8baa58f7f38c /libcxx/src/regex.cpp | |
| parent | 924e9e0226662e0673545d97ea6f3394a81388ad (diff) | |
Base regex code on char_class_type.
__get_classname() and __bracket_expression were assuming that
char_class_type was ctype_base::mask rather than using
regex_traits<_CharT>::char_class_type.
This change allows char_class_type to be defined to something other than
ctype_base::mask so that the implementation will still work for
platforms with an 8-bit ctype mask (such as Android and OpenBSD).
llvm-svn: 214201
Diffstat (limited to 'libcxx/src/regex.cpp')
| -rw-r--r-- | libcxx/src/regex.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libcxx/src/regex.cpp b/libcxx/src/regex.cpp index fb820e2bfedc..17dd6eaa60a7 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_; |
