LLVM
16.0.0git
lib
DebugInfo
CodeView
CodeViewError.cpp
Go to the documentation of this file.
1
//===- CodeViewError.cpp - Error extensions for CodeView --------*- 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
#include "
llvm/DebugInfo/CodeView/CodeViewError.h
"
10
#include "
llvm/Support/ErrorHandling.h
"
11
#include <string>
12
13
using namespace
llvm
;
14
using namespace
llvm::codeview
;
15
16
namespace
{
17
// FIXME: This class is only here to support the transition to llvm::Error. It
18
// will be removed once this transition is complete. Clients should prefer to
19
// deal with the Error value directly, rather than converting to error_code.
20
class
CodeViewErrorCategory :
public
std::error_category {
21
public
:
22
const
char
*
name
()
const
noexcept
override
{
return
"llvm.codeview"
; }
23
std::string
message
(
int
Condition)
const override
{
24
switch
(
static_cast<
cv_error_code
>
(Condition)) {
25
case
cv_error_code::unspecified
:
26
return
"An unknown CodeView error has occurred."
;
27
case
cv_error_code::insufficient_buffer
:
28
return
"The buffer is not large enough to read the requested number of "
29
"bytes."
;
30
case
cv_error_code::corrupt_record
:
31
return
"The CodeView record is corrupted."
;
32
case
cv_error_code::no_records
:
33
return
"There are no records."
;
34
case
cv_error_code::operation_unsupported
:
35
return
"The requested operation is not supported."
;
36
case
cv_error_code::unknown_member_record
:
37
return
"The member record is of an unknown type."
;
38
}
39
llvm_unreachable
(
"Unrecognized cv_error_code"
);
40
}
41
};
42
}
// namespace
43
44
const
std::error_category &
llvm::codeview::CVErrorCategory
() {
45
static
CodeViewErrorCategory CodeViewErrCategory;
46
return
CodeViewErrCategory;
47
}
48
49
char
CodeViewError::ID
;
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
llvm::codeview::cv_error_code::operation_unsupported
@ operation_unsupported
ErrorHandling.h
llvm::codeview::cv_error_code::insufficient_buffer
@ insufficient_buffer
llvm::codeview::CVErrorCategory
const std::error_category & CVErrorCategory()
Definition:
CodeViewError.cpp:44
llvm::codeview::cv_error_code::no_records
@ no_records
llvm::codeview::CodeViewError::ID
static char ID
Definition:
CodeViewError.h:46
llvm::codeview::cv_error_code
cv_error_code
Definition:
CodeViewError.h:16
const
aarch64 promote const
Definition:
AArch64PromoteConstant.cpp:232
message
message(STATUS "Targeting ${t}") add_subdirectory($
Definition:
CMakeLists.txt:34
llvm_unreachable
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
Definition:
ErrorHandling.h:143
name
static const char * name
Definition:
SVEIntrinsicOpts.cpp:74
llvm::codeview::cv_error_code::corrupt_record
@ corrupt_record
llvm::codeview
Definition:
AppendingTypeTableBuilder.h:22
llvm::codeview::cv_error_code::unknown_member_record
@ unknown_member_record
CodeViewError.h
llvm::codeview::cv_error_code::unspecified
@ unspecified
Generated on Tue Aug 16 2022 06:43:13 for LLVM by
1.8.17