mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2024-12-22 20:31:14 +00:00
libstrat: fix override operator new to be noexcept (closes #1494)
This commit is contained in:
parent
25be7c5b1b
commit
c790d03693
3 changed files with 13 additions and 15 deletions
|
@ -20,23 +20,23 @@ namespace ams::fs::impl {
|
|||
|
||||
class Newable {
|
||||
public:
|
||||
static void *operator new(size_t size) {
|
||||
static ALWAYS_INLINE void *operator new(size_t size) noexcept {
|
||||
return ::ams::fs::impl::Allocate(size);
|
||||
}
|
||||
|
||||
static void *operator new(size_t size, Newable *placement) {
|
||||
static ALWAYS_INLINE void *operator new(size_t size, Newable *placement) noexcept {
|
||||
return placement;
|
||||
}
|
||||
|
||||
static void *operator new[](size_t size) {
|
||||
static ALWAYS_INLINE void *operator new[](size_t size) noexcept {
|
||||
return ::ams::fs::impl::Allocate(size);
|
||||
}
|
||||
|
||||
static void operator delete(void *ptr, size_t size) {
|
||||
static ALWAYS_INLINE void operator delete(void *ptr, size_t size) noexcept {
|
||||
return ::ams::fs::impl::Deallocate(ptr, size);
|
||||
}
|
||||
|
||||
static void operator delete[](void *ptr, size_t size) {
|
||||
static ALWAYS_INLINE void operator delete[](void *ptr, size_t size) noexcept {
|
||||
return ::ams::fs::impl::Deallocate(ptr, size);
|
||||
}
|
||||
};
|
||||
|
|
|
@ -106,11 +106,9 @@ namespace ams::fssystem {
|
|||
|
||||
using Newable::operator new;
|
||||
using Newable::operator delete;
|
||||
static void *operator new(size_t, void *p) {
|
||||
return p;
|
||||
}
|
||||
|
||||
static void operator delete(void *, size_t, void*) { /* ... */ }
|
||||
static ALWAYS_INLINE void *operator new(size_t, void *p) noexcept { return p; }
|
||||
static ALWAYS_INLINE void operator delete(void *, size_t, void*) noexcept { /* ... */ }
|
||||
};
|
||||
|
||||
using AttrListTraits = util::IntrusiveListBaseTraits<AttrInfo>;
|
||||
|
|
|
@ -22,13 +22,13 @@ namespace ams::erpt::srv {
|
|||
|
||||
class Allocator {
|
||||
public:
|
||||
void *operator new(size_t sz) { return lmem::AllocateFromExpHeap(g_heap_handle, sz); }
|
||||
void *operator new(size_t sz, size_t algn) { return lmem::AllocateFromExpHeap(g_heap_handle, sz, static_cast<s32>(algn)); }
|
||||
void *operator new[](size_t sz) { return lmem::AllocateFromExpHeap(g_heap_handle, sz); }
|
||||
void *operator new[](size_t sz, size_t algn) { return lmem::AllocateFromExpHeap(g_heap_handle, sz, static_cast<s32>(algn)); }
|
||||
void *operator new(size_t sz) noexcept { return lmem::AllocateFromExpHeap(g_heap_handle, sz); }
|
||||
void *operator new(size_t sz, size_t algn) noexcept { return lmem::AllocateFromExpHeap(g_heap_handle, sz, static_cast<s32>(algn)); }
|
||||
void *operator new[](size_t sz) noexcept { return lmem::AllocateFromExpHeap(g_heap_handle, sz); }
|
||||
void *operator new[](size_t sz, size_t algn) noexcept { return lmem::AllocateFromExpHeap(g_heap_handle, sz, static_cast<s32>(algn)); }
|
||||
|
||||
void operator delete(void *p) { lmem::FreeToExpHeap(g_heap_handle, p); }
|
||||
void operator delete[](void *p) { lmem::FreeToExpHeap(g_heap_handle, p); }
|
||||
void operator delete(void *p) noexcept { lmem::FreeToExpHeap(g_heap_handle, p); }
|
||||
void operator delete[](void *p) noexcept { lmem::FreeToExpHeap(g_heap_handle, p); }
|
||||
};
|
||||
|
||||
inline void *Allocate(size_t sz) {
|
||||
|
|
Loading…
Reference in a new issue