[PATCH] D17132: [libcxx] Fix definition of regex_traits::__regex_word on big-endian glibc systems
Daniel Sanders via cfe-commits
cfe-commits at lists.llvm.org
Thu Feb 11 09:48:47 PST 2016
dsanders added a comment.
In http://reviews.llvm.org/D17132#349993, @mclow.lists wrote:
> In r260527, I added some tests to catch this if it happens again.
>
> If those tests fail w/o this patch and succeed with, then I'm happy with applying it.
The tests in r260527, don't fail without this patch because it doesn't check 'graph'. It also doesn't fail when I add it. The reason for this is that std::ctype_base::graph isn't the same as _ISgraph:
std::regex_traits<char>::__regex_word = 128
std::ctype_base::graph = 1036
_ISgraph = 128
ctype_base is defining graph by combining alnum and punct instead of using the _IS* macro like the other bits.
I'm not sure where it's getting the definition of classic_table. Presumably it's coming from glibc because adding a #error next to the optional one in libcxx doesn't cause build failures.
http://reviews.llvm.org/D17132
More information about the cfe-commits
mailing list