mark operator new(std::nothrow) as noalias (aka __attribute__((malloc))
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@159359 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2d62229b96
commit
518d150040
@ -391,6 +391,12 @@ template <unsigned> struct __static_assert_check {};
|
|||||||
#define _LIBCPP_CONSTEXPR constexpr
|
#define _LIBCPP_CONSTEXPR constexpr
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#define _NOALIAS __attribute__((malloc))
|
||||||
|
#else
|
||||||
|
#define _NOALIAS
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef __has_feature
|
#ifndef __has_feature
|
||||||
#define __has_feature(__x) 0
|
#define __has_feature(__x) 0
|
||||||
#endif
|
#endif
|
||||||
|
@ -96,7 +96,7 @@ _LIBCPP_VISIBLE void* operator new(std::size_t __sz)
|
|||||||
throw(std::bad_alloc)
|
throw(std::bad_alloc)
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
_LIBCPP_VISIBLE void* operator new(std::size_t __sz, const std::nothrow_t&) _NOEXCEPT;
|
_LIBCPP_VISIBLE void* operator new(std::size_t __sz, const std::nothrow_t&) _NOEXCEPT _NOALIAS;
|
||||||
_LIBCPP_VISIBLE void operator delete(void* __p) _NOEXCEPT;
|
_LIBCPP_VISIBLE void operator delete(void* __p) _NOEXCEPT;
|
||||||
_LIBCPP_VISIBLE void operator delete(void* __p, const std::nothrow_t&) _NOEXCEPT;
|
_LIBCPP_VISIBLE void operator delete(void* __p, const std::nothrow_t&) _NOEXCEPT;
|
||||||
|
|
||||||
@ -105,7 +105,7 @@ _LIBCPP_VISIBLE void* operator new[](std::size_t __sz)
|
|||||||
throw(std::bad_alloc)
|
throw(std::bad_alloc)
|
||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
_LIBCPP_VISIBLE void* operator new[](std::size_t __sz, const std::nothrow_t&) _NOEXCEPT;
|
_LIBCPP_VISIBLE void* operator new[](std::size_t __sz, const std::nothrow_t&) _NOEXCEPT _NOALIAS;
|
||||||
_LIBCPP_VISIBLE void operator delete[](void* __p) _NOEXCEPT;
|
_LIBCPP_VISIBLE void operator delete[](void* __p) _NOEXCEPT;
|
||||||
_LIBCPP_VISIBLE void operator delete[](void* __p, const std::nothrow_t&) _NOEXCEPT;
|
_LIBCPP_VISIBLE void operator delete[](void* __p, const std::nothrow_t&) _NOEXCEPT;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user