-
-
Notifications
You must be signed in to change notification settings - Fork 834
Open
Description
Description
On the game engine I'm working on, using C++20 and std::format
, it seems like the Tracy profiler encounters a "Memory free event without a matching allocation" when using std::format(std::locale(""), "{:L}", 10)
.
For reference, here are the operators we overloaded:
void* operator new(std::size_t size);
void operator delete(void* ptr) noexcept;
void operator delete(void* ptr, std::size_t size) noexcept;
void* operator new[](std::size_t size);
void operator delete[](void* ptr) noexcept;
void operator delete[](void* ptr, std::size_t size) noexcept;
void* operator new(std::size_t size, const std::nothrow_t&) noexcept;
void operator delete(void* ptr, const std::nothrow_t&) noexcept;
void* operator new[](std::size_t size, const std::nothrow_t&) noexcept;
void operator delete[](void* ptr, const std::nothrow_t&) noexcept;
void* operator new(std::size_t size, std::align_val_t alignment);
void operator delete(void* ptr, std::align_val_t alignment) noexcept;
void* operator new[](std::size_t size, std::align_val_t alignment);
void operator delete[](void* ptr, std::align_val_t alignment) noexcept;
void operator delete(void* ptr, std::size_t size, std::align_val_t alignment) noexcept;
void operator delete[](void* ptr, std::size_t size, std::align_val_t alignment) noexcept;
void* operator new(std::size_t size, std::align_val_t alignment, const std::nothrow_t&) noexcept;
void operator delete(void* ptr, std::align_val_t alignment, const std::nothrow_t&) noexcept;
It works fine when using std::locale()
, which defaults to the C
locale.
Note: std::locale("")
being the user's locale (from its regional settings). In my case, it's en_US
Expected Behaviour
Not sure, is it a false positive, or is there something wrong with std::format
?
Environment
MSVC: Microsoft (R) C/C++ Optimizing Compiler Version 19.42.34438 for x86
Metadata
Metadata
Assignees
Labels
No labels