LLVM 22.0.0git
CodeViewYAMLSymbols.cpp File Reference
#include "llvm/ObjectYAML/CodeViewYAMLSymbols.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/DebugInfo/CodeView/CodeView.h"
#include "llvm/DebugInfo/CodeView/CodeViewError.h"
#include "llvm/DebugInfo/CodeView/EnumTables.h"
#include "llvm/DebugInfo/CodeView/RecordSerialization.h"
#include "llvm/DebugInfo/CodeView/SymbolDeserializer.h"
#include "llvm/DebugInfo/CodeView/SymbolRecord.h"
#include "llvm/DebugInfo/CodeView/SymbolSerializer.h"
#include "llvm/DebugInfo/CodeView/TypeIndex.h"
#include "llvm/ObjectYAML/YAML.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ScopedPrinter.h"
#include "llvm/Support/YAMLTraits.h"
#include <algorithm>
#include <cstdint>
#include <cstring>
#include <optional>
#include <string>
#include <vector>
#include "llvm/DebugInfo/CodeView/CodeViewSymbols.def"

Go to the source code of this file.

Classes

struct  llvm::yaml::MappingTraits< LocalVariableAddrRange >
struct  llvm::yaml::MappingTraits< LocalVariableAddrGap >
struct  llvm::CodeViewYAML::detail::SymbolRecordBase
struct  llvm::CodeViewYAML::detail::SymbolRecordImpl< T >
struct  llvm::CodeViewYAML::detail::UnknownSymbolRecord
struct  llvm::yaml::MappingTraits< SymbolRecordBase >

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::yaml
namespace  llvm::CodeViewYAML
namespace  llvm::CodeViewYAML::detail

Macros

#define SYMBOL_RECORD(EnumName, EnumVal, ClassName)
#define SYMBOL_RECORD_ALIAS(EnumName, EnumVal, AliasName, ClassName)
#define SYMBOL_RECORD(EnumName, EnumVal, ClassName)
#define SYMBOL_RECORD_ALIAS(EnumName, EnumVal, AliasName, ClassName)

Functions

template<typename SymbolType>
static Expected< CodeViewYAML::SymbolRecordfromCodeViewSymbolImpl (CVSymbol Symbol)
template<typename ConcreteType>
static void mapSymbolRecordImpl (IO &IO, const char *Class, SymbolKind Kind, CodeViewYAML::SymbolRecord &Obj)

Macro Definition Documentation

◆ SYMBOL_RECORD [1/2]

#define SYMBOL_RECORD ( EnumName,
EnumVal,
ClassName )
Value:
case EnumName: \
static Expected< CodeViewYAML::SymbolRecord > fromCodeViewSymbolImpl(CVSymbol Symbol)
StringLiteral EnumName

◆ SYMBOL_RECORD [2/2]

#define SYMBOL_RECORD ( EnumName,
EnumVal,
ClassName )
Value:
case EnumName: \
Obj); \
break;
static void mapSymbolRecordImpl(IO &IO, const char *Class, SymbolKind Kind, CodeViewYAML::SymbolRecord &Obj)

◆ SYMBOL_RECORD_ALIAS [1/2]

#define SYMBOL_RECORD_ALIAS ( EnumName,
EnumVal,
AliasName,
ClassName )
Value:
#define SYMBOL_RECORD(lf_ename, value, name)
Definition CodeView.h:43

◆ SYMBOL_RECORD_ALIAS [2/2]

#define SYMBOL_RECORD_ALIAS ( EnumName,
EnumVal,
AliasName,
ClassName )
Value:

Function Documentation

◆ fromCodeViewSymbolImpl()

template<typename SymbolType>
Expected< CodeViewYAML::SymbolRecord > fromCodeViewSymbolImpl ( CVSymbol Symbol)
inlinestatic

◆ mapSymbolRecordImpl()

template<typename ConcreteType>
void mapSymbolRecordImpl ( IO & IO,
const char * Class,
SymbolKind Kind,
CodeViewYAML::SymbolRecord & Obj )
static