[PATCH] [libcxx] Fix regex_traits<T>::char_class_type for Android.

Dan Albert danalbert at google.com
Fri Aug 15 11:34:59 PDT 2014


We've applied it to our tree, but it doesn't exist in SVN. I uploaded here because I wasn't sure if this was the kind of change we want, or if it's considered "just and android hack" and should only live in our tree. We'd obviously like to keep any differences between us and upstream as small as possible (ideally zero). Any thoughts?

================
Comment at: include/regex:966
@@ +965,3 @@
+#ifdef __ANDROID__
+    typedef uint16_t                char_class_type;
+#else
----------------
This change is something that very few implementations would need afaik. We definitely need it for Android, and it will be needed for OpenBSD if that support ever gets added. I don't know about musl/newlib/uclibc.

================
Comment at: include/regex:972
@@ +971,3 @@
+#ifdef __ANDROID__
+    static const char_class_type __regex_word = 0x8000;
+#else
----------------
This, OTOH, is something that I'm surprised wasn't needed by other implementations. Does every other libc skip 0x80 when representing character classes in ctype?

http://reviews.llvm.org/D4648






More information about the cfe-commits mailing list