[PATCH] D16639: [libcxx] Limit catopen usage to unix-like OSes
Ben Craig via cfe-commits
cfe-commits at lists.llvm.org
Wed Jan 27 10:37:43 PST 2016
bcraig created this revision.
bcraig added reviewers: mclow.lists, ed, jfb, EricWF, jroelofs.
bcraig added a subscriber: cfe-commits.
Herald added subscribers: srhines, danalbert, tberghammer, jfb.
Operating systems that are not unix-like are unlikely to have access to catopen. Instead of black-listing each one, we now filter out all non-unix operating systems first. We then exclude the unix-like operating systems that don't have catopen. _WIN32 counts as a unix-like operating system because of cygwin.
The catopen existence check was moved form __config to locale because locale is the only user of this information.
@@ -199,6 +199,15 @@
// has had a chance to bake for a bit
+#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
+// Most unix variants have catopen. These are the specific ones that don't.
+#if !defined(_WIN32) && !defined(__ANDROID__) && !defined(_NEWLIB_VERSION) && \
+#define _LIBCPP_HAS_CATOPEN 1
@@ -713,11 +713,6 @@
#define _LIBCPP_LOCALE__L_EXTENSIONS 1
-#if !defined(_WIN32) && !defined(__ANDROID__) && !defined(_NEWLIB_VERSION) && \
-#define _LIBCPP_HAS_CATOPEN 1
#define _DECLARE_C99_LDBL_MATH 1
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 1015 bytes
Desc: not available
More information about the cfe-commits