[libc++] Move <__sso_allocator> out of include/ into src/. NFCI.
This allocator is not intended for libc++'s users to use; it's strictly an implementation detail of `src/locale.cpp`. So, move it to the `src/include/` directory. Drive-by const-qualify its comparison operators. For consistency with `__hidden_allocator` (defined in `src/thread.cpp`), do *not* remove it from "libcxx/lib/libc++unexp.exp", "libcxx/utils/symcheck-blacklists/linux_blacklist.txt", etc. Differential Revision: https://reviews.llvm.org/D101293
This commit is contained in:
@@ -41,7 +41,6 @@ set(files
|
||||
__ranges/view.h
|
||||
__ranges/size.h
|
||||
__split_buffer
|
||||
__sso_allocator
|
||||
__std_stream
|
||||
__string
|
||||
__threading_support
|
||||
|
||||
@@ -542,7 +542,6 @@ module std [system] {
|
||||
module __locale { header "__locale" export * }
|
||||
module __mutex_base { header "__mutex_base" export * }
|
||||
module __split_buffer { header "__split_buffer" export * }
|
||||
module __sso_allocator { header "__sso_allocator" export * }
|
||||
module __std_stream { header "__std_stream" export * }
|
||||
module __string { header "__string" export * }
|
||||
module __tree { header "__tree" export * }
|
||||
|
||||
@@ -64,6 +64,7 @@ endif()
|
||||
|
||||
if (LIBCXX_ENABLE_LOCALIZATION)
|
||||
list(APPEND LIBCXX_SOURCES
|
||||
include/sso_allocator.h
|
||||
ios.cpp
|
||||
ios.instantiations.cpp
|
||||
iostream.cpp
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef _LIBCPP___SSO_ALLOCATOR
|
||||
#define _LIBCPP___SSO_ALLOCATOR
|
||||
#ifndef _LIBCPP_SSO_ALLOCATOR_H
|
||||
#define _LIBCPP_SSO_ALLOCATOR_H
|
||||
|
||||
#include <__config>
|
||||
#include <memory>
|
||||
@@ -67,11 +67,11 @@ public:
|
||||
_LIBCPP_INLINE_VISIBILITY size_type max_size() const throw() {return size_type(~0) / sizeof(_Tp);}
|
||||
|
||||
_LIBCPP_INLINE_VISIBILITY
|
||||
bool operator==(__sso_allocator& __a) const {return &buf_ == &__a.buf_;}
|
||||
bool operator==(const __sso_allocator& __a) const {return &buf_ == &__a.buf_;}
|
||||
_LIBCPP_INLINE_VISIBILITY
|
||||
bool operator!=(__sso_allocator& __a) const {return &buf_ != &__a.buf_;}
|
||||
bool operator!=(const __sso_allocator& __a) const {return &buf_ != &__a.buf_;}
|
||||
};
|
||||
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___SSO_ALLOCATOR
|
||||
#endif // _LIBCPP_SSO_ALLOCATOR_H
|
||||
@@ -27,7 +27,6 @@
|
||||
#define _CTYPE_DISABLE_MACROS
|
||||
#endif
|
||||
#include "cwctype"
|
||||
#include "__sso_allocator"
|
||||
#if defined(_LIBCPP_MSVCRT) || defined(__MINGW32__)
|
||||
#include "__support/win32/locale_win32.h"
|
||||
#elif !defined(__BIONIC__) && !defined(__NuttX__)
|
||||
@@ -36,6 +35,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include "include/atomic_support.h"
|
||||
#include "include/sso_allocator.h"
|
||||
#include "__undef_macros"
|
||||
|
||||
// On Linux, wint_t and wchar_t have different signed-ness, and this causes
|
||||
|
||||
Reference in New Issue
Block a user