Author: phosek Date: Thu Apr 13 16:29:21 2017 New Revision: 300261 URL: http://llvm.org/viewvc/llvm-project?rev=300261&view=rev Log: [libcxx] Direct support for Fuchsia
Fuchsia's libc was forked from musl, but has evolved sufficiently since then so it no longer makes sense to pretend it's musl. This change implements direct support for Fuchsia rather than piggybacking on musl support. Differential Revision: https://reviews.llvm.org/D31970 Added: libcxx/trunk/include/support/fuchsia/ libcxx/trunk/include/support/fuchsia/xlocale.h Modified: libcxx/trunk/include/__config libcxx/trunk/include/__locale Modified: libcxx/trunk/include/__config URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__config?rev=300261&r1=300260&r2=300261&view=diff ============================================================================== --- libcxx/trunk/include/__config (original) +++ libcxx/trunk/include/__config Thu Apr 13 16:29:21 2017 @@ -1027,7 +1027,7 @@ _LIBCPP_FUNC_VIS extern "C" void __sanit #endif #if defined(__BIONIC__) || defined(__CloudABI__) || \ - defined(_LIBCPP_HAS_MUSL_LIBC) + defined(__Fuchsia__) || defined(_LIBCPP_HAS_MUSL_LIBC) #define _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE #endif Modified: libcxx/trunk/include/__locale URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__locale?rev=300261&r1=300260&r2=300261&view=diff ============================================================================== --- libcxx/trunk/include/__locale (original) +++ libcxx/trunk/include/__locale Thu Apr 13 16:29:21 2017 @@ -37,9 +37,11 @@ #elif (defined(__GLIBC__) || defined(__APPLE__) || defined(__FreeBSD__) \ || defined(__EMSCRIPTEN__) || defined(__IBMCPP__)) # include <xlocale.h> +#elif defined(__Fuchsia__) +# include <support/fuchsia/xlocale.h> #elif defined(_LIBCPP_HAS_MUSL_LIBC) # include <support/musl/xlocale.h> -#endif // __GLIBC__ || __APPLE__ || __FreeBSD__ || __sun__ || __EMSCRIPTEN__ || __IBMCPP__ +#endif #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header Added: libcxx/trunk/include/support/fuchsia/xlocale.h URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/support/fuchsia/xlocale.h?rev=300261&view=auto ============================================================================== --- libcxx/trunk/include/support/fuchsia/xlocale.h (added) +++ libcxx/trunk/include/support/fuchsia/xlocale.h Thu Apr 13 16:29:21 2017 @@ -0,0 +1,23 @@ +// -*- C++ -*- +//===------------------- support/fuchsia/xlocale.h ------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is dual licensed under the MIT and the University of Illinois Open +// Source Licenses. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef _LIBCPP_SUPPORT_FUCHSIA_XLOCALE_H +#define _LIBCPP_SUPPORT_FUCHSIA_XLOCALE_H + +#if defined(__Fuchsia__) + +#include <cstdlib> +#include <cwchar> +#include <support/xlocale/__posix_l_fallback.h> +#include <support/xlocale/__strtonum_fallback.h> + +#endif // defined(__Fuchsia__) + +#endif // _LIBCPP_SUPPORT_FUCHSIA_XLOCALE_H _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits