diff options
author | Zachary Turner <zturner@google.com> | 2016-05-23 18:49:06 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2016-05-23 18:49:06 +0000 |
commit | a78ecd1e6c68b937f31ef4846057d0c546e14889 (patch) | |
tree | ca7676fc66fd18a5670a3343a7a0bbe71ee57cbb /llvm/lib/CodeGen/AsmPrinter | |
parent | 5ba3215fe33aaac8d1065a78b1b1f29aa23721ac (diff) | |
download | bcm5719-llvm-a78ecd1e6c68b937f31ef4846057d0c546e14889.tar.gz bcm5719-llvm-a78ecd1e6c68b937f31ef4846057d0c546e14889.zip |
[codeview] Refactor symbol records to use same pattern as types.
This will pave the way to introduce a full fledged symbol visitor
similar to how we have a type visitor, thus allowing the same
dumping code to be used in llvm-readobj and llvm-pdbdump.
Differential Revision: http://reviews.llvm.org/D20384
Reviewed By: rnk
llvm-svn: 270475
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp index b5c796a01bd..06ac58333bc 100644 --- a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp @@ -734,25 +734,25 @@ void CodeViewDebug::emitLocalVariable(const LocalVariable &Var) { continue; if (DefRange.InMemory) { - DefRangeRegisterRelSym Sym{}; + DefRangeRegisterRelSym Sym(DefRange.CVRegister, 0, DefRange.DataOffset, 0, + 0, 0, ArrayRef<LocalVariableAddrGap>()); ulittle16_t SymKind = ulittle16_t(S_DEFRANGE_REGISTER_REL); - Sym.BaseRegister = DefRange.CVRegister; - Sym.Flags = 0; // Unclear what matters here. - Sym.BasePointerOffset = DefRange.DataOffset; BytePrefix += StringRef(reinterpret_cast<const char *>(&SymKind), sizeof(SymKind)); - BytePrefix += StringRef(reinterpret_cast<const char *>(&Sym), - sizeof(Sym) - sizeof(LocalVariableAddrRange)); + BytePrefix += + StringRef(reinterpret_cast<const char *>(&Sym.Header), + sizeof(Sym.Header) - sizeof(LocalVariableAddrRange)); } else { assert(DefRange.DataOffset == 0 && "unexpected offset into register"); - DefRangeRegisterSym Sym{}; + // Unclear what matters here. + DefRangeRegisterSym Sym(DefRange.CVRegister, 0, 0, 0, 0, + ArrayRef<LocalVariableAddrGap>()); ulittle16_t SymKind = ulittle16_t(S_DEFRANGE_REGISTER); - Sym.Register = DefRange.CVRegister; - Sym.MayHaveNoName = 0; // Unclear what matters here. BytePrefix += StringRef(reinterpret_cast<const char *>(&SymKind), sizeof(SymKind)); - BytePrefix += StringRef(reinterpret_cast<const char *>(&Sym), - sizeof(Sym) - sizeof(LocalVariableAddrRange)); + BytePrefix += + StringRef(reinterpret_cast<const char *>(&Sym.Header), + sizeof(Sym.Header) - sizeof(LocalVariableAddrRange)); } OS.EmitCVDefRangeDirective(DefRange.Ranges, BytePrefix); } |