[llvm] r268270 - PDB - Instead of hardcoding stream numbers, use an enum.
Zachary Turner via llvm-commits
llvm-commits at lists.llvm.org
Mon May 2 11:09:21 PDT 2016
Author: zturner
Date: Mon May 2 13:09:21 2016
New Revision: 268270
URL: http://llvm.org/viewvc/llvm-project?rev=268270&view=rev
Log:
PDB - Instead of hardcoding stream numbers, use an enum.
Modified:
llvm/trunk/include/llvm/DebugInfo/PDB/Raw/RawConstants.h
llvm/trunk/lib/DebugInfo/PDB/Raw/DbiStream.cpp
llvm/trunk/lib/DebugInfo/PDB/Raw/InfoStream.cpp
Modified: llvm/trunk/include/llvm/DebugInfo/PDB/Raw/RawConstants.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/PDB/Raw/RawConstants.h?rev=268270&r1=268269&r2=268270&view=diff
==============================================================================
--- llvm/trunk/include/llvm/DebugInfo/PDB/Raw/RawConstants.h (original)
+++ llvm/trunk/include/llvm/DebugInfo/PDB/Raw/RawConstants.h Mon May 2 13:09:21 2016
@@ -34,6 +34,13 @@ enum PdbRaw_DbiVer : uint32_t {
PdbDbiV70 = 19990903,
PdbDbiV110 = 20091201
};
+
+enum SpecialStream : uint32_t {
+ StreamPDB = 1,
+ StreamTPI = 2,
+ StreamDBI = 3,
+ StreamIPI = 4,
+};
}
}
Modified: llvm/trunk/lib/DebugInfo/PDB/Raw/DbiStream.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/Raw/DbiStream.cpp?rev=268270&r1=268269&r2=268270&view=diff
==============================================================================
--- llvm/trunk/lib/DebugInfo/PDB/Raw/DbiStream.cpp (original)
+++ llvm/trunk/lib/DebugInfo/PDB/Raw/DbiStream.cpp Mon May 2 13:09:21 2016
@@ -71,7 +71,7 @@ struct DbiStream::HeaderInfo {
ulittle32_t Reserved; // Pad to 64 bytes
};
-DbiStream::DbiStream(PDBFile &File) : Pdb(File), Stream(3, File) {
+DbiStream::DbiStream(PDBFile &File) : Pdb(File), Stream(StreamDBI, File) {
static_assert(sizeof(HeaderInfo) == 64, "Invalid HeaderInfo size!");
}
Modified: llvm/trunk/lib/DebugInfo/PDB/Raw/InfoStream.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/PDB/Raw/InfoStream.cpp?rev=268270&r1=268269&r2=268270&view=diff
==============================================================================
--- llvm/trunk/lib/DebugInfo/PDB/Raw/InfoStream.cpp (original)
+++ llvm/trunk/lib/DebugInfo/PDB/Raw/InfoStream.cpp Mon May 2 13:09:21 2016
@@ -10,30 +10,35 @@
#include "llvm/DebugInfo/PDB/Raw/InfoStream.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/SmallVector.h"
+#include "llvm/DebugInfo/PDB/Raw/RawConstants.h"
#include "llvm/DebugInfo/PDB/Raw/StreamReader.h"
using namespace llvm;
using namespace llvm::pdb;
-InfoStream::InfoStream(PDBFile &File) : Pdb(File), Stream(1, File) {}
+InfoStream::InfoStream(PDBFile &File) : Pdb(File), Stream(StreamPDB, File) {}
std::error_code InfoStream::reload() {
StreamReader Reader(Stream);
- support::ulittle32_t Value;
+ struct Header {
+ support::ulittle32_t Version;
+ support::ulittle32_t Signature;
+ support::ulittle32_t Age;
+ PDB_UniqueId Guid;
+ };
- Reader.readObject(&Value);
- Version = Value;
- if (Version < PdbRaw_ImplVer::PdbImplVC70)
- return std::make_error_code(std::errc::not_supported);
+ Header H;
+ Reader.readObject(&H);
- Reader.readObject(&Value);
- Signature = Value;
+ if (H.Version < PdbRaw_ImplVer::PdbImplVC70)
+ return std::make_error_code(std::errc::not_supported);
- Reader.readObject(&Value);
- Age = Value;
+ Version = H.Version;
+ Signature = H.Signature;
+ Age = H.Age;
+ Guid = H.Guid;
- Reader.readObject(&Guid);
NamedStreams.load(Reader);
return std::error_code();
More information about the llvm-commits
mailing list