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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@193087 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
		| @@ -970,7 +970,7 @@ public: | ||||
|     bool isctype(char_type __c, char_class_type __m) const; | ||||
|     _LIBCPP_INLINE_VISIBILITY | ||||
|     int value(char_type __ch, int __radix) const | ||||
|         {return __value(__ch, __radix);} | ||||
|         {return __regex_traits_value(__ch, __radix);} | ||||
|     locale_type imbue(locale_type __l); | ||||
|     _LIBCPP_INLINE_VISIBILITY | ||||
|     locale_type getloc()const {return __loc_;} | ||||
| @@ -1001,11 +1001,11 @@ private: | ||||
|         __lookup_classname(_ForwardIterator __f, _ForwardIterator __l, | ||||
|                            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 | ||||
|     int __value(char __ch, int __radix) const | ||||
|         {return __value(static_cast<unsigned char>(__ch), __radix);} | ||||
|     int __value(wchar_t __ch, int __radix) const; | ||||
|     int __regex_traits_value(char __ch, int __radix) const | ||||
|         {return __regex_traits_value(static_cast<unsigned char>(__ch), __radix);} | ||||
|     int __regex_traits_value(wchar_t __ch, int __radix) const; | ||||
| }; | ||||
|  | ||||
| template <class _CharT> | ||||
| @@ -1207,7 +1207,7 @@ regex_traits<_CharT>::isctype(char_type __c, char_class_type __m) const | ||||
|  | ||||
| template <class _CharT> | ||||
| 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' | ||||
|         return __ch - '0'; | ||||
| @@ -1228,9 +1228,9 @@ regex_traits<_CharT>::__value(unsigned char __ch, int __radix) | ||||
| template <class _CharT> | ||||
| inline _LIBCPP_INLINE_VISIBILITY | ||||
| 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; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Marshall Clow
					Marshall Clow