[libc++] Introduce _LIBCPP_OVERRIDABLE_FUNC_VIS

This is a generalization of `_LIBCPP_NEW_DELETE_VIS`; the new macro name
captures the semantics better, and also allows us to get rid of the
`_WIN32` check in `include/new`. No functional change.

Differential Revision: https://reviews.llvm.org/D26702

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@287164 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Shoaib Meenai
2016-11-16 22:18:10 +00:00
parent 3dd27eb62c
commit e6479bc783
4 changed files with 59 additions and 60 deletions

View File

@@ -37,7 +37,7 @@
// in this shared library, so that they can be overridden by programs
// that define non-weak copies of the functions.
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void *
operator new(std::size_t size) _THROW_BAD_ALLOC
{
@@ -61,7 +61,7 @@ operator new(std::size_t size) _THROW_BAD_ALLOC
return p;
}
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void *
operator new(std::size_t size, std::align_val_t alignment) _THROW_BAD_ALLOC
{
@@ -89,7 +89,7 @@ operator new(std::size_t size, std::align_val_t alignment) _THROW_BAD_ALLOC
return p;
}
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void*
operator new(size_t size, const std::nothrow_t&) _NOEXCEPT
{
@@ -108,7 +108,7 @@ operator new(size_t size, const std::nothrow_t&) _NOEXCEPT
return p;
}
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void*
operator new(size_t size, std::align_val_t alignment, const std::nothrow_t&) _NOEXCEPT
{
@@ -127,21 +127,21 @@ operator new(size_t size, std::align_val_t alignment, const std::nothrow_t&) _NO
return p;
}
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void*
operator new[](size_t size) _THROW_BAD_ALLOC
{
return ::operator new(size);
}
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void*
operator new[](size_t size, std::align_val_t alignment) _THROW_BAD_ALLOC
{
return ::operator new(size, alignment);
}
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void*
operator new[](size_t size, const std::nothrow_t&) _NOEXCEPT
{
@@ -160,7 +160,7 @@ operator new[](size_t size, const std::nothrow_t&) _NOEXCEPT
return p;
}
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void*
operator new[](size_t size, std::align_val_t alignment, const std::nothrow_t&) _NOEXCEPT
{
@@ -179,7 +179,7 @@ operator new[](size_t size, std::align_val_t alignment, const std::nothrow_t&) _
return p;
}
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void
operator delete(void* ptr) _NOEXCEPT
{
@@ -187,7 +187,7 @@ operator delete(void* ptr) _NOEXCEPT
::free(ptr);
}
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void
operator delete(void* ptr, std::align_val_t) _NOEXCEPT
{
@@ -195,70 +195,70 @@ operator delete(void* ptr, std::align_val_t) _NOEXCEPT
::free(ptr);
}
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void
operator delete(void* ptr, const std::nothrow_t&) _NOEXCEPT
{
::operator delete(ptr);
}
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void
operator delete(void* ptr, std::align_val_t alignment, const std::nothrow_t&) _NOEXCEPT
{
::operator delete(ptr, alignment);
}
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void
operator delete(void* ptr, size_t) _NOEXCEPT
{
::operator delete(ptr);
}
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void
operator delete(void* ptr, size_t, std::align_val_t alignment) _NOEXCEPT
{
::operator delete(ptr, alignment);
}
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void
operator delete[] (void* ptr) _NOEXCEPT
{
::operator delete(ptr);
}
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void
operator delete[] (void* ptr, std::align_val_t alignment) _NOEXCEPT
{
::operator delete(ptr, alignment);
}
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void
operator delete[] (void* ptr, const std::nothrow_t&) _NOEXCEPT
{
::operator delete[](ptr);
}
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void
operator delete[] (void* ptr, std::align_val_t alignment, const std::nothrow_t&) _NOEXCEPT
{
::operator delete[](ptr, alignment);
}
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void
operator delete[] (void* ptr, size_t) _NOEXCEPT
{
::operator delete[](ptr);
}
_LIBCPP_WEAK _LIBCPP_NEW_DELETE_VIS
_LIBCPP_WEAK
void
operator delete[] (void* ptr, size_t, std::align_val_t alignment) _NOEXCEPT
{