Revert r280549.

The test it added doesn't pass:
http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/15318/steps/ninja%20check%201/logs/FAIL%3A%20LLVM%3A%3Apdbdump-yaml-types.test

Command Output (stdout):
--
$ "D:/buildslave/clang-x64-ninja-win7/stage1/./bin\llvm-pdbdump.EXE" "pdb2yaml" "-tpi-stream" "D:\buildslave\clang-x64-ninja-win7\llvm\test\DebugInfo\PDB/Inputs/empty.pdb"
$ "D:/buildslave/clang-x64-ninja-win7/stage1/./bin\FileCheck.EXE" "-check-prefix=YAML" "D:\buildslave\clang-x64-ninja-win7\llvm\test\DebugInfo\PDB\pdbdump-yaml-types.test"
# command stderr:
D:\buildslave\clang-x64-ninja-win7\llvm\test\DebugInfo\PDB\pdbdump-yaml-types.test:36:7: error: expected string not found in input
YAML: Name: apartment
      ^
<stdin>:153:10: note: scanning from here
 Value: 161
         ^


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280577 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nico Weber 2016-09-03 03:18:49 +00:00
parent 87c2d47e50
commit b210b2b944
3 changed files with 483 additions and 536 deletions

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,6 @@
//===----------------------------------------------------------------------===//
#include "CodeViewYaml.h"
#include "PdbYaml.h"
#include "llvm/DebugInfo/CodeView/CVTypeVisitor.h"
#include "llvm/DebugInfo/CodeView/EnumTables.h"
@ -26,38 +25,6 @@ LLVM_YAML_IS_SEQUENCE_VECTOR(OneMethodRecord)
LLVM_YAML_IS_SEQUENCE_VECTOR(VFTableSlotKind)
LLVM_YAML_IS_SEQUENCE_VECTOR(StringRef)
LLVM_YAML_IS_SEQUENCE_VECTOR(CVType)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::pdb::yaml::PdbTpiRecord)
namespace {
struct FieldListRecordSplitter : public TypeVisitorCallbacks {
public:
explicit FieldListRecordSplitter(
std::vector<llvm::pdb::yaml::PdbTpiRecord> &Records)
: Records(Records) {}
#define TYPE_RECORD(EnumName, EnumVal, Name)
#define TYPE_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
#define MEMBER_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)
#define MEMBER_RECORD(EnumName, EnumVal, Name) \
Error visitKnownRecord(const CVType &CVT, Name##Record &Record) override { \
visitKnownRecordImpl(CVT); \
return Error::success(); \
}
#include "llvm/DebugInfo/CodeView/TypeRecords.def"
private:
void visitKnownRecordImpl(const CVType &CVT) {
llvm::pdb::yaml::PdbTpiRecord R;
R.Record = CVT;
R.RecordData.assign(CVT.RawData.begin(), CVT.RawData.end());
R.Record.Data = R.RecordData;
R.Record.RawData = R.RecordData;
Records.push_back(std::move(R));
}
std::vector<llvm::pdb::yaml::PdbTpiRecord> &Records;
};
}
namespace llvm {
namespace yaml {
@ -551,15 +518,3 @@ llvm::codeview::yaml::YamlTypeDumperCallbacks::visitTypeBegin(
YamlIO.mapRequired("Kind", K);
return K;
}
void llvm::codeview::yaml::YamlTypeDumperCallbacks::visitKnownRecordImpl(
const char *Name, const CVType &Type, FieldListRecord &FieldList) {
std::vector<llvm::pdb::yaml::PdbTpiRecord> Records;
if (YamlIO.outputting()) {
FieldListRecordSplitter Splitter(Records);
CVTypeVisitor V(Splitter);
consumeError(V.visitFieldListMemberStream(FieldList.Data));
}
YamlIO.mapRequired(Name, Records);
}

View File

@ -27,7 +27,7 @@ public:
#define TYPE_RECORD(EnumName, EnumVal, Name) \
Error visitKnownRecord(const CVRecord<TypeLeafKind> &CVR, \
Name##Record &Record) override { \
visitKnownRecordImpl(#Name, CVR, Record); \
YamlIO.mapRequired(#Name, Record); \
return Error::success(); \
}
#define MEMBER_RECORD(EnumName, EnumVal, Name) \
@ -37,14 +37,6 @@ public:
#include "llvm/DebugInfo/CodeView/TypeRecords.def"
private:
template <typename T>
void visitKnownRecordImpl(const char *Name, const CVType &Type, T &Record) {
YamlIO.mapRequired(Name, Record);
}
void visitKnownRecordImpl(const char *Name, const CVType &Type,
FieldListRecord &FieldList);
llvm::yaml::IO &YamlIO;
};
}