LLVM  6.0.0svn
Macros | Functions
SymbolDumper.cpp File Reference
#include "llvm/DebugInfo/CodeView/SymbolDumper.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/DebugInfo/CodeView/CVSymbolVisitor.h"
#include "llvm/DebugInfo/CodeView/DebugStringTableSubsection.h"
#include "llvm/DebugInfo/CodeView/EnumTables.h"
#include "llvm/DebugInfo/CodeView/SymbolDeserializer.h"
#include "llvm/DebugInfo/CodeView/SymbolDumpDelegate.h"
#include "llvm/DebugInfo/CodeView/SymbolRecord.h"
#include "llvm/DebugInfo/CodeView/SymbolVisitorCallbackPipeline.h"
#include "llvm/DebugInfo/CodeView/SymbolVisitorCallbacks.h"
#include "llvm/DebugInfo/CodeView/TypeIndex.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ScopedPrinter.h"
#include <system_error>
#include "llvm/DebugInfo/CodeView/CodeViewSymbols.def"
Include dependency graph for SymbolDumper.cpp:

Go to the source code of this file.

Macros

#define SYMBOL_RECORD(EnumName, EnumVal, Name)   Error visitKnownRecord(CVSymbol &CVR, Name &Record) override;
 CVSymbolVisitor overrides. More...
 
#define SYMBOL_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
 
#define SYMBOL_RECORD(EnumName, EnumVal, Name)
 CVSymbolVisitor overrides. More...
 

Functions

static StringRef getSymbolKindName (SymbolKind Kind)
 

Macro Definition Documentation

◆ SYMBOL_RECORD [1/2]

#define SYMBOL_RECORD (   EnumName,
  EnumVal,
  Name 
)    Error visitKnownRecord(CVSymbol &CVR, Name &Record) override;

CVSymbolVisitor overrides.

Definition at line 41 of file SymbolDumper.cpp.

◆ SYMBOL_RECORD [2/2]

#define SYMBOL_RECORD (   EnumName,
  EnumVal,
  Name 
)
Value:
case EnumName: \
return #Name;
StringLiteral EnumName

CVSymbolVisitor overrides.

Definition at line 41 of file SymbolDumper.cpp.

◆ SYMBOL_RECORD_ALIAS

#define SYMBOL_RECORD_ALIAS (   EnumName,
  EnumVal,
  Name,
  AliasName 
)

Definition at line 43 of file SymbolDumper.cpp.

Function Documentation

◆ getSymbolKindName()

static StringRef getSymbolKindName ( SymbolKind  Kind)
static

Definition at line 65 of file SymbolDumper.cpp.

References llvm::codeview::SectionSym::Alignment, llvm::codeview::InlineSiteSym::annotations(), llvm::codeview::DefRangeRegisterRelSym::Header::BasePointerOffset, llvm::codeview::BuildInfoSym::BuildId, llvm::codeview::FrameProcSym::BytesOfCalleeSavedRegisters, llvm::codeview::HeapAllocationSiteSym::CallInstructionSize, llvm::codeview::ChangeCodeLength, llvm::codeview::ChangeCodeLengthAndCodeOffset, llvm::codeview::ChangeCodeOffset, llvm::codeview::ChangeCodeOffsetAndLineOffset, llvm::codeview::ChangeCodeOffsetBase, llvm::codeview::ChangeColumnEnd, llvm::codeview::ChangeColumnEndDelta, llvm::codeview::ChangeColumnStart, llvm::codeview::ChangeFile, llvm::codeview::ChangeLineEndDelta, llvm::codeview::ChangeLineOffset, llvm::codeview::ChangeRangeKind, llvm::codeview::SectionSym::Characteristics, llvm::codeview::CoffGroupSym::Characteristics, llvm::codeview::ProcSym::CodeOffset, llvm::codeview::CodeOffset, llvm::codeview::BlockSym::CodeOffset, llvm::codeview::LabelSym::CodeOffset, llvm::codeview::CallSiteInfoSym::CodeOffset, llvm::codeview::HeapAllocationSiteSym::CodeOffset, llvm::codeview::FrameCookieSym::CodeOffset, llvm::codeview::ProcSym::CodeSize, llvm::codeview::BlockSym::CodeSize, llvm::consumeError(), llvm::codeview::CVRecord< Kind >::content(), llvm::codeview::FrameCookieSym::CookieKind, llvm::Data, llvm::codeview::DataSym::DataOffset, llvm::codeview::ThreadLocalDataSym::DataOffset, llvm::codeview::ProcSym::DbgEnd, llvm::codeview::ProcSym::DbgStart, llvm::StringRef::empty(), llvm::codeview::ProcSym::End, llvm::codeview::Thunk32Sym::End, llvm::codeview::InlineSiteSym::End, llvm::codeview::BlockSym::End, llvm::Export, llvm::codeview::EnvBlockSym::Fields, llvm::codeview::ProcSym::Flags, llvm::codeview::PublicSym32::Flags, llvm::codeview::LocalSym::Flags, llvm::codeview::LabelSym::Flags, llvm::codeview::ExportSym::Flags, llvm::codeview::FileStaticSym::Flags, llvm::codeview::FrameProcSym::Flags, llvm::codeview::FrameCookieSym::Flags, llvm::codeview::ProcSym::FunctionType, llvm::codeview::DefRangeSym::Gaps, llvm::codeview::DefRangeSubfieldSym::Gaps, llvm::codeview::DefRangeRegisterSym::Gaps, llvm::codeview::DefRangeSubfieldRegisterSym::Gaps, llvm::codeview::DefRangeFramePointerRelSym::Gaps, llvm::codeview::DefRangeRegisterRelSym::Gaps, llvm::codeview::getCompileSym2FlagNames(), llvm::codeview::getCompileSym3FlagNames(), llvm::codeview::getCPUTypeNames(), llvm::codeview::getExportSymFlagNames(), llvm::codeview::Compile2Sym::getFlags(), llvm::codeview::Compile3Sym::getFlags(), llvm::codeview::getFrameCookieKindNames(), llvm::codeview::getFrameProcSymFlagNames(), llvm::codeview::getImageSectionCharacteristicNames(), llvm::codeview::Compile2Sym::getLanguage(), llvm::codeview::Compile3Sym::getLanguage(), llvm::codeview::getLocalFlagNames(), llvm::codeview::getProcSymFlagNames(), llvm::codeview::getPublicSymFlagNames(), llvm::codeview::getRegisterNames(), llvm::codeview::ProcSym::getRelocationOffset(), llvm::codeview::DefRangeSym::getRelocationOffset(), llvm::codeview::DefRangeSubfieldSym::getRelocationOffset(), llvm::codeview::DefRangeRegisterSym::getRelocationOffset(), llvm::codeview::DefRangeSubfieldRegisterSym::getRelocationOffset(), llvm::codeview::DefRangeFramePointerRelSym::getRelocationOffset(), llvm::codeview::DefRangeRegisterRelSym::getRelocationOffset(), llvm::codeview::BlockSym::getRelocationOffset(), llvm::codeview::LabelSym::getRelocationOffset(), llvm::codeview::CallSiteInfoSym::getRelocationOffset(), llvm::codeview::HeapAllocationSiteSym::getRelocationOffset(), llvm::codeview::FrameCookieSym::getRelocationOffset(), llvm::codeview::DataSym::getRelocationOffset(), llvm::codeview::ThreadLocalDataSym::getRelocationOffset(), llvm::codeview::getSourceLanguageNames(), llvm::codeview::DebugStringTableSubsectionRef::getString(), llvm::codeview::getSymbolTypeNames(), llvm::codeview::getThunkOrdinalNames(), llvm::codeview::getTrampolineNames(), llvm::codeview::DefRangeRegisterRelSym::hasSpilledUDTMember(), llvm::codeview::DefRangeRegisterSym::Hdr, llvm::codeview::DefRangeSubfieldRegisterSym::Hdr, llvm::codeview::DefRangeRegisterRelSym::Hdr, llvm::codeview::RegisterSym::Index, llvm::codeview::FileStaticSym::Index, llvm::codeview::CallerSym::Indices, llvm::codeview::InlineSiteSym::Inlinee, llvm::codeview::Invalid, llvm::codeview::LocalVariableAddrRange::ISectStart, llvm::codeview::CVRecord< Kind >::kind(), llvm::codeview::CVRecord< Kind >::length(), llvm::codeview::Thunk32Sym::Length, llvm::codeview::SectionSym::Length, llvm::LinkageName, llvm::codeview::Compile2Sym::Machine, llvm::codeview::Compile3Sym::Machine, llvm::codeview::DefRangeRegisterSym::Header::MayHaveNoName, llvm::codeview::DefRangeSubfieldRegisterSym::Header::MayHaveNoName, llvm::codeview::FileStaticSym::ModFilenameOffset, llvm::codeview::ProcRefSym::Module, llvm::codeview::ProcSym::Name, llvm::codeview::SectionSym::Name, llvm::codeview::CoffGroupSym::Name, llvm::codeview::PublicSym32::Name, llvm::codeview::RegisterSym::Name, llvm::codeview::ProcRefSym::Name, llvm::codeview::LocalSym::Name, llvm::codeview::BlockSym::Name, llvm::codeview::LabelSym::Name, llvm::codeview::ObjNameSym::Name, llvm::codeview::ExportSym::Name, llvm::codeview::FileStaticSym::Name, llvm::codeview::UDTSym::Name, llvm::codeview::BPRelativeSym::Name, llvm::codeview::RegRelativeSym::Name, llvm::codeview::ConstantSym::Name, llvm::codeview::DataSym::Name, llvm::codeview::ThreadLocalDataSym::Name, llvm::codeview::ProcSym::Next, llvm::codeview::Thunk32Sym::Next, llvm::codeview::Thunk32Sym::Offset, llvm::codeview::CoffGroupSym::Offset, llvm::codeview::PublicSym32::Offset, llvm::codeview::DefRangeFramePointerRelSym::Offset, llvm::codeview::DefRangeFramePointerRelFullScopeSym::Offset, llvm::codeview::BPRelativeSym::Offset, llvm::codeview::RegRelativeSym::Offset, llvm::codeview::DefRangeSubfieldSym::OffsetInParent, llvm::codeview::DefRangeSubfieldRegisterSym::Header::OffsetInParent, llvm::codeview::DefRangeRegisterRelSym::offsetInParent(), llvm::codeview::FrameProcSym::OffsetOfExceptionHandler, llvm::codeview::LocalVariableAddrRange::OffsetStart, llvm::codeview::FrameProcSym::OffsetToPadding, llvm::codeview::ExportSym::Ordinal, llvm::codeview::FrameProcSym::PaddingFrameBytes, llvm::codeview::ProcSym::Parent, llvm::codeview::Thunk32Sym::Parent, llvm::codeview::InlineSiteSym::Parent, llvm::codeview::BlockSym::Parent, llvm::codeview::printTypeIndex(), llvm::codeview::DefRangeSym::Program, llvm::codeview::DefRangeSubfieldSym::Program, llvm::codeview::Public, llvm::codeview::LocalVariableAddrRange::Range, llvm::codeview::DefRangeSym::Range, llvm::codeview::DefRangeSubfieldSym::Range, llvm::codeview::DefRangeRegisterSym::Range, llvm::codeview::DefRangeSubfieldRegisterSym::Range, llvm::codeview::DefRangeFramePointerRelSym::Range, llvm::codeview::DefRangeRegisterRelSym::Range, Register, llvm::codeview::RegisterSym::Register, llvm::codeview::DefRangeRegisterSym::Header::Register, llvm::codeview::DefRangeSubfieldRegisterSym::Header::Register, llvm::codeview::DefRangeRegisterRelSym::Header::Register, llvm::codeview::FrameCookieSym::Register, llvm::codeview::RegRelativeSym::Register, llvm::codeview::SectionSym::Rva, llvm::ARMBuildAttrs::Section, llvm::codeview::FrameProcSym::SectionIdOfExceptionHandler, llvm::codeview::SectionSym::SectionNumber, llvm::codeview::ProcSym::Segment, llvm::codeview::Thunk32Sym::Segment, llvm::codeview::CoffGroupSym::Segment, llvm::codeview::PublicSym32::Segment, llvm::codeview::BlockSym::Segment, llvm::codeview::LabelSym::Segment, llvm::codeview::CallSiteInfoSym::Segment, llvm::codeview::HeapAllocationSiteSym::Segment, llvm::codeview::ObjNameSym::Signature, llvm::codeview::TrampolineSym::Size, llvm::codeview::CoffGroupSym::Size, llvm::Error::success(), llvm::codeview::ProcRefSym::SumName, llvm::codeview::ProcRefSym::SymOffset, llvm::codeview::TrampolineSym::TargetOffset, llvm::codeview::TrampolineSym::TargetSection, llvm::codeview::Thunk32Sym::Thunk, llvm::codeview::TrampolineSym::ThunkOffset, llvm::codeview::TrampolineSym::ThunkSection, llvm::codeview::FrameProcSym::TotalFrameBytes, llvm::codeview::CVRecord< Kind >::Type, llvm::codeview::TrampolineSym::Type, llvm::codeview::LocalSym::Type, llvm::codeview::CallSiteInfoSym::Type, llvm::codeview::HeapAllocationSiteSym::Type, llvm::codeview::UDTSym::Type, llvm::codeview::BPRelativeSym::Type, llvm::codeview::RegRelativeSym::Type, llvm::codeview::ConstantSym::Type, llvm::codeview::DataSym::Type, llvm::codeview::ThreadLocalDataSym::Type, llvm::codeview::ConstantSym::Value, llvm::codeview::Compile2Sym::Version, llvm::codeview::Compile3Sym::Version, llvm::codeview::Compile2Sym::VersionBackendBuild, llvm::codeview::Compile3Sym::VersionBackendBuild, llvm::codeview::Compile2Sym::VersionBackendMajor, llvm::codeview::Compile3Sym::VersionBackendMajor, llvm::codeview::Compile2Sym::VersionBackendMinor, llvm::codeview::Compile3Sym::VersionBackendMinor, llvm::codeview::Compile3Sym::VersionBackendQFE, llvm::codeview::Compile2Sym::VersionFrontendBuild, llvm::codeview::Compile3Sym::VersionFrontendBuild, llvm::codeview::Compile2Sym::VersionFrontendMajor, llvm::codeview::Compile3Sym::VersionFrontendMajor, llvm::codeview::Compile2Sym::VersionFrontendMinor, llvm::codeview::Compile3Sym::VersionFrontendMinor, llvm::codeview::Compile3Sym::VersionFrontendQFE, visitKnownRecord(), and llvm::RISCVFenceField::W.