1//===-- scudo_errors.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//===----------------------------------------------------------------------===//
8///
9/// Header for scudo_errors.cpp.
10///
11//===----------------------------------------------------------------------===//
12
13#ifndef SCUDO_ERRORS_H_
14#define SCUDO_ERRORS_H_
15
16#include "sanitizer_common/sanitizer_internal_defs.h"
17
18namespace __scudo {
19
20void NORETURN reportCallocOverflow(uptr Count, uptr Size);
21void NORETURN reportPvallocOverflow(uptr Size);
22void NORETURN reportAllocationAlignmentTooBig(uptr Alignment,
23                                              uptr MaxAlignment);
24void NORETURN reportAllocationAlignmentNotPowerOfTwo(uptr Alignment);
25void NORETURN reportInvalidPosixMemalignAlignment(uptr Alignment);
26void NORETURN reportInvalidAlignedAllocAlignment(uptr Size, uptr Alignment);
27void NORETURN reportAllocationSizeTooBig(uptr UserSize, uptr TotalSize,
28                                         uptr MaxSize);
29void NORETURN reportRssLimitExceeded();
30void NORETURN reportOutOfMemory(uptr RequestedSize);
31
32}  // namespace __scudo
33
34#endif  // SCUDO_ERRORS_H_
35