From f8865b62c38f744c845389567eed0a98e8c88d97 Mon Sep 17 00:00:00 2001 From: Ben Craig Date: Wed, 10 Feb 2016 13:47:25 +0000 Subject: [PATCH] Limit catopen usage to unix-like OSes 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. http://reviews.llvm.org/D16639 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@260381 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/__config | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/__config b/include/__config index 9da235efa..83e6e2a5d 100644 --- a/include/__config +++ b/include/__config @@ -719,10 +719,12 @@ template struct __static_assert_check {}; #define _LIBCPP_LOCALE__L_EXTENSIONS 1 #endif -#if !defined(_WIN32) && !defined(__ANDROID__) && !defined(_NEWLIB_VERSION) && \ - !defined(__CloudABI__) +#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 #endif +#endif #ifdef __FreeBSD__ #define _DECLARE_C99_LDBL_MATH 1