LLVM 22.0.0git
DbiModuleDescriptor.h
Go to the documentation of this file.
1//===- DbiModuleDescriptor.h - PDB module information -----------*- 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#ifndef LLVM_DEBUGINFO_PDB_NATIVE_DBIMODULEDESCRIPTOR_H
10#define LLVM_DEBUGINFO_PDB_NATIVE_DBIMODULEDESCRIPTOR_H
11
12#include "llvm/ADT/StringRef.h"
15#include "llvm/Support/Error.h"
16#include <cstdint>
17
18namespace llvm {
19template <typename T> struct VarStreamArrayExtractor;
20
21namespace pdb {
22struct ModuleInfoHeader;
23struct SectionContrib;
57
58} // end namespace pdb
59
60template <> struct VarStreamArrayExtractor<pdb::DbiModuleDescriptor> {
63 if (auto EC = pdb::DbiModuleDescriptor::initialize(Stream, Info))
64 return EC;
65 Length = Info.getRecordLength();
66 return Error::success();
67 }
68};
69
70} // end namespace llvm
71
72#endif // LLVM_DEBUGINFO_PDB_NATIVE_DBIMODULEDESCRIPTOR_H
Analysis containing CSE Info
Definition CSEInfo.cpp:27
#define LLVM_ABI
Definition Compiler.h:213
BinaryStreamRef is to BinaryStream what ArrayRef is to an Array.
Lightweight error class with error context and mandatory checking.
Definition Error.h:159
static ErrorSuccess success()
Create a success value.
Definition Error.h:336
StringRef - Represent a constant reference to a string, i.e.
Definition StringRef.h:55
LLVM_ABI uint32_t getSymbolDebugInfoByteSize() const
LLVM_ABI const SectionContrib & getSectionContrib() const
LLVM_ABI uint32_t getRecordLength() const
LLVM_ABI uint32_t getPdbFilePathNameIndex() const
LLVM_ABI uint32_t getC13LineInfoByteSize() const
LLVM_ABI uint32_t getNumberOfFiles() const
LLVM_ABI uint32_t getSourceFileNameIndex() const
LLVM_ABI uint16_t getTypeServerIndex() const
static LLVM_ABI Error initialize(BinaryStreamRef Stream, DbiModuleDescriptor &Info)
LLVM_ABI StringRef getObjFileName() const
LLVM_ABI uint16_t getModuleStreamIndex() const
DbiModuleDescriptor(const DbiModuleDescriptor &Info)=default
DbiModuleDescriptor & operator=(const DbiModuleDescriptor &Info)=default
LLVM_ABI StringRef getModuleName() const
LLVM_ABI uint32_t getC11LineInfoByteSize() const
This is an optimization pass for GlobalISel generic memory operations.
@ Length
Definition DWP.cpp:477
Error operator()(BinaryStreamRef Stream, uint32_t &Length, pdb::DbiModuleDescriptor &Info)
VarStreamArrayExtractor is intended to be specialized to provide customized extraction logic.
The header preceding each entry in the Module Info substream of the DBI stream.
Definition RawTypes.h:212