#include "report.h"
#include "atomic_helpers.h"
#include "string_utils.h"
#include <stdarg.h>
namespace scudo {
class ScopedErrorReport { … };
inline void NORETURN trap() { … }
void NORETURN reportCheckFailed(const char *File, int Line,
const char *Condition, u64 Value1, u64 Value2) { … }
void NORETURN reportError(const char *Message) { … }
void NORETURN reportRawError(const char *Message) { … }
void NORETURN reportInvalidFlag(const char *FlagType, const char *Value) { … }
void NORETURN reportHeaderCorruption(void *Ptr) { … }
void NORETURN reportSanityCheckError(const char *Field) { … }
void NORETURN reportAlignmentTooBig(uptr Alignment, uptr MaxAlignment) { … }
void NORETURN reportAllocationSizeTooBig(uptr UserSize, uptr TotalSize,
uptr MaxSize) { … }
void NORETURN reportOutOfBatchClass() { … }
void NORETURN reportOutOfMemory(uptr RequestedSize) { … }
static const char *stringifyAction(AllocatorAction Action) { … }
void NORETURN reportInvalidChunkState(AllocatorAction Action, void *Ptr) { … }
void NORETURN reportMisalignedPointer(AllocatorAction Action, void *Ptr) { … }
void NORETURN reportDeallocTypeMismatch(AllocatorAction Action, void *Ptr,
u8 TypeA, u8 TypeB) { … }
void NORETURN reportDeleteSizeMismatch(void *Ptr, uptr Size,
uptr ExpectedSize) { … }
void NORETURN reportAlignmentNotPowerOfTwo(uptr Alignment) { … }
void NORETURN reportCallocOverflow(uptr Count, uptr Size) { … }
void NORETURN reportInvalidPosixMemalignAlignment(uptr Alignment) { … }
void NORETURN reportPvallocOverflow(uptr Size) { … }
void NORETURN reportInvalidAlignedAllocAlignment(uptr Alignment, uptr Size) { … }
}