[PATCH] [libc++] Support newlib as libc++'s C library

Jonathan Roelofs jonathan at codesourcery.com
Wed Sep 17 08:58:18 PDT 2014


================
Comment at: include/__locale:88
@@ +87,3 @@
+#define asprintf_l(a, L, b, ...) (((void) L), asprintf(a, b, ##__VA_ARGS__))
+#endif
+
----------------
These belong in libcxx/include/support/newlib/xlocale.h

================
Comment at: src/locale.cpp:53
@@ +52,3 @@
+}
+#endif
+
----------------
These belong in src/support/newlib/locale.cpp

================
Comment at: src/locale.cpp:1052
@@ -1040,1 +1051,3 @@
+    // Newlib has a 257-entry table in ctype_.c, where (char)0 starts at [1].
+    return _ctype_ + 1;
 #else
----------------
@danalbert and I came to the conclusion earlier that implementing classic_table via newlib's _ctype_ isn't a conforming implementation because the mask it contains is not a simple bitmask, and the way do_is/scan_is are worded in the standard it leads to a contradiction if ctype's mask isn't a simple bitmask.  I think we're going to need a separate table just for this that lives in src/support.

http://reviews.llvm.org/D5383






More information about the cfe-commits mailing list