Patch by GM: apparently '__value' (two underscores) is a special name in Visual Studio, so rename the private method in <regex> with that name. GM's patch used '___value' (three underscores), but I changed that to '__regex_traits_value' because I've been burned in the past by identifiers that appear identical but are not.

llvm-svn: 193087
This commit is contained in:
Marshall Clow 2013-10-21 15:43:25 +00:00
parent 520469cfc0
commit e604469e5c
1 changed files with 8 additions and 8 deletions

View File

@ -970,7 +970,7 @@ public:
bool isctype(char_type __c, char_class_type __m) const; bool isctype(char_type __c, char_class_type __m) const;
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
int value(char_type __ch, int __radix) const int value(char_type __ch, int __radix) const
{return __value(__ch, __radix);} {return __regex_traits_value(__ch, __radix);}
locale_type imbue(locale_type __l); locale_type imbue(locale_type __l);
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
locale_type getloc()const {return __loc_;} locale_type getloc()const {return __loc_;}
@ -1001,11 +1001,11 @@ private:
__lookup_classname(_ForwardIterator __f, _ForwardIterator __l, __lookup_classname(_ForwardIterator __f, _ForwardIterator __l,
bool __icase, wchar_t) const; bool __icase, wchar_t) const;
static int __value(unsigned char __ch, int __radix); static int __regex_traits_value(unsigned char __ch, int __radix);
_LIBCPP_INLINE_VISIBILITY _LIBCPP_INLINE_VISIBILITY
int __value(char __ch, int __radix) const int __regex_traits_value(char __ch, int __radix) const
{return __value(static_cast<unsigned char>(__ch), __radix);} {return __regex_traits_value(static_cast<unsigned char>(__ch), __radix);}
int __value(wchar_t __ch, int __radix) const; int __regex_traits_value(wchar_t __ch, int __radix) const;
}; };
template <class _CharT> template <class _CharT>
@ -1207,7 +1207,7 @@ regex_traits<_CharT>::isctype(char_type __c, char_class_type __m) const
template <class _CharT> template <class _CharT>
int int
regex_traits<_CharT>::__value(unsigned char __ch, int __radix) regex_traits<_CharT>::__regex_traits_value(unsigned char __ch, int __radix)
{ {
if ((__ch & 0xF8u) == 0x30) // '0' <= __ch && __ch <= '7' if ((__ch & 0xF8u) == 0x30) // '0' <= __ch && __ch <= '7'
return __ch - '0'; return __ch - '0';
@ -1228,9 +1228,9 @@ regex_traits<_CharT>::__value(unsigned char __ch, int __radix)
template <class _CharT> template <class _CharT>
inline _LIBCPP_INLINE_VISIBILITY inline _LIBCPP_INLINE_VISIBILITY
int int
regex_traits<_CharT>::__value(wchar_t __ch, int __radix) const regex_traits<_CharT>::__regex_traits_value(wchar_t __ch, int __radix) const
{ {
return __value(static_cast<unsigned char>(__ct_->narrow(__ch, char_type())), __radix); return __regex_traits_value(static_cast<unsigned char>(__ct_->narrow(__ch, char_type())), __radix);
} }
template <class _CharT> class __node; template <class _CharT> class __node;