[Clang][SME2] Enable multi-vector loads & stores for SME2 (#75821)
[llvm-project.git] / compiler-rt / lib / scudo / standalone / report.h
bloba510fdaebb6de5404147cf397f3ab13a2862602b
1 //===-- report.h ------------------------------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
9 #ifndef SCUDO_REPORT_H_
10 #define SCUDO_REPORT_H_
12 #include "internal_defs.h"
14 namespace scudo {
16 // Reports are *fatal* unless stated otherwise.
18 // Generic error, adds newline to end of message.
19 void NORETURN reportError(const char *Message);
21 // Generic error, but the message is not modified.
22 void NORETURN reportRawError(const char *Message);
24 // Flags related errors.
25 void NORETURN reportInvalidFlag(const char *FlagType, const char *Value);
27 // Chunk header related errors.
28 void NORETURN reportHeaderCorruption(void *Ptr);
30 // Sanity checks related error.
31 void NORETURN reportSanityCheckError(const char *Field);
33 // Combined allocator errors.
34 void NORETURN reportAlignmentTooBig(uptr Alignment, uptr MaxAlignment);
35 void NORETURN reportAllocationSizeTooBig(uptr UserSize, uptr TotalSize,
36 uptr MaxSize);
37 void NORETURN reportOutOfBatchClass();
38 void NORETURN reportOutOfMemory(uptr RequestedSize);
39 enum class AllocatorAction : u8 {
40 Recycling,
41 Deallocating,
42 Reallocating,
43 Sizing,
45 void NORETURN reportInvalidChunkState(AllocatorAction Action, void *Ptr);
46 void NORETURN reportMisalignedPointer(AllocatorAction Action, void *Ptr);
47 void NORETURN reportDeallocTypeMismatch(AllocatorAction Action, void *Ptr,
48 u8 TypeA, u8 TypeB);
49 void NORETURN reportDeleteSizeMismatch(void *Ptr, uptr Size, uptr ExpectedSize);
51 // C wrappers errors.
52 void NORETURN reportAlignmentNotPowerOfTwo(uptr Alignment);
53 void NORETURN reportInvalidPosixMemalignAlignment(uptr Alignment);
54 void NORETURN reportCallocOverflow(uptr Count, uptr Size);
55 void NORETURN reportPvallocOverflow(uptr Size);
56 void NORETURN reportInvalidAlignedAllocAlignment(uptr Size, uptr Alignment);
58 } // namespace scudo
60 #endif // SCUDO_REPORT_H_