mirror of
https://github.com/RPCS3/llvm.git
synced 2026-01-31 01:25:19 +01:00
This was reverted due to a "missing" file, but in reality what happened was that I renamed a file, and then due to a merge conflict both the old file and the new file got added to the repository. This led to an unused cpp file being in the repo and not referenced by any CMakeLists.txt but #including a .h file that wasn't in the repo. In an even more unfortunate coincidence, CMake didn't report the unused cpp file because it was in a subdirectory of the folder with the CMakeLists.txt, and not in the same directory as any CMakeLists.txt. The presence of the unused file was then breaking certain tools that determine file lists by globbing rather than by what's specified in CMakeLists.txt In any case, the fix is to just remove the unused file from the patch set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302042 91177308-0d34-0410-b5e6-96231b3b80d8
74 lines
2.0 KiB
C++
74 lines
2.0 KiB
C++
//===- PDBFileBuilder.h - PDB File Creation ---------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef LLVM_DEBUGINFO_PDB_RAW_PDBFILEBUILDER_H
|
|
#define LLVM_DEBUGINFO_PDB_RAW_PDBFILEBUILDER_H
|
|
|
|
#include "llvm/ADT/ArrayRef.h"
|
|
#include "llvm/ADT/BitVector.h"
|
|
#include "llvm/ADT/Optional.h"
|
|
#include "llvm/DebugInfo/PDB/Native/NamedStreamMap.h"
|
|
#include "llvm/DebugInfo/PDB/Native/PDBFile.h"
|
|
#include "llvm/DebugInfo/PDB/Native/PDBStringTableBuilder.h"
|
|
#include "llvm/DebugInfo/PDB/Native/RawConstants.h"
|
|
#include "llvm/Support/Allocator.h"
|
|
#include "llvm/Support/Endian.h"
|
|
#include "llvm/Support/Error.h"
|
|
|
|
#include <memory>
|
|
#include <vector>
|
|
|
|
namespace llvm {
|
|
namespace msf {
|
|
class MSFBuilder;
|
|
}
|
|
namespace pdb {
|
|
class DbiStreamBuilder;
|
|
class InfoStreamBuilder;
|
|
class TpiStreamBuilder;
|
|
|
|
class PDBFileBuilder {
|
|
public:
|
|
explicit PDBFileBuilder(BumpPtrAllocator &Allocator);
|
|
PDBFileBuilder(const PDBFileBuilder &) = delete;
|
|
PDBFileBuilder &operator=(const PDBFileBuilder &) = delete;
|
|
|
|
Error initialize(uint32_t BlockSize);
|
|
|
|
msf::MSFBuilder &getMsfBuilder();
|
|
InfoStreamBuilder &getInfoBuilder();
|
|
DbiStreamBuilder &getDbiBuilder();
|
|
TpiStreamBuilder &getTpiBuilder();
|
|
TpiStreamBuilder &getIpiBuilder();
|
|
PDBStringTableBuilder &getStringTableBuilder();
|
|
|
|
Error commit(StringRef Filename);
|
|
|
|
Expected<uint32_t> getNamedStreamIndex(StringRef Name) const;
|
|
Error addNamedStream(StringRef Name, uint32_t Size);
|
|
|
|
private:
|
|
Expected<msf::MSFLayout> finalizeMsfLayout();
|
|
|
|
BumpPtrAllocator &Allocator;
|
|
|
|
std::unique_ptr<msf::MSFBuilder> Msf;
|
|
std::unique_ptr<InfoStreamBuilder> Info;
|
|
std::unique_ptr<DbiStreamBuilder> Dbi;
|
|
std::unique_ptr<TpiStreamBuilder> Tpi;
|
|
std::unique_ptr<TpiStreamBuilder> Ipi;
|
|
|
|
PDBStringTableBuilder Strings;
|
|
NamedStreamMap NamedStreams;
|
|
};
|
|
}
|
|
}
|
|
|
|
#endif
|