| // Copyright 2020 The Fuchsia Authors |
| // |
| // Use of this source code is governed by a MIT-style |
| // license that can be found in the LICENSE file or at |
| // https://opensource.org/licenses/MIT |
| |
| #ifndef ZIRCON_KERNEL_LIB_KTL_INCLUDE_CWCHAR |
| #define ZIRCON_KERNEL_LIB_KTL_INCLUDE_CWCHAR |
| |
| // The kernel doesn't want this file but some libc++ headers we need |
| // wind up including it and they need these declarations. |
| |
| #include <wchar.h> |
| |
| #include <__config> |
| |
| _LIBCPP_BEGIN_NAMESPACE_STD |
| |
| using ::wmemcpy; |
| using ::wmemmove; |
| using ::wmemset; |
| |
| // These are called by libc++ header code that should never be instantiated. |
| |
| constexpr size_t __constexpr_wcslen(const wchar_t* str) { |
| return 0; |
| } |
| |
| constexpr int __constexpr_wmemcmp(const wchar_t* lhs, const wchar_t* rhs, size_t count) { |
| return -1; |
| } |
| |
| template <class Tp, class Up> |
| constexpr const Tp* __constexpr_wmemchr(const Tp* str, Up wc, size_t count) { |
| return nullptr; |
| } |
| |
| _LIBCPP_END_NAMESPACE_STD |
| |
| #endif // ZIRCON_KERNEL_LIB_KTL_INCLUDE_CWCHAR |