This is an archive of the discontinued LLVM Phabricator instance.

[codeview] Some cleanup of symbol records
ClosedPublic

Authored by zturner on May 17 2016, 3:44 PM.

Details

Summary
  • Reworks the CVSymbolTypes.def to work similarly to TypeRecords.def.
  • Moves some enums from SymbolRecords.h to CodeView.h to maintain consistency with how we do type records.
  • Generalize a few simple things like the record prefix
  • Define the leaf enum and the kind enum similar to how we do with tyep records.

Diff Detail

Event Timeline

zturner updated this revision to Diff 57533.May 17 2016, 3:44 PM
zturner retitled this revision from to [codeview] Some cleanup of symbol records.
zturner updated this object.
zturner added reviewers: rnk, amccarth.
zturner added a subscriber: llvm-commits.
amccarth accepted this revision.May 17 2016, 4:01 PM
amccarth edited edge metadata.

Another nice refactor.

This revision is now accepted and ready to land.May 17 2016, 4:01 PM
rnk accepted this revision.May 17 2016, 4:32 PM
rnk edited edge metadata.
rnk added inline comments.
include/llvm/DebugInfo/CodeView/SymbolRecord.h
34

Symbols aren't leafs, though, only type records are referred to as "leafs" in the reference headers. I'd hold off on the "enum class" for SymbolRecordKind for now I guess. Besides, then we won't have two full enumerations.

rnk added inline comments.May 17 2016, 4:35 PM
include/llvm/DebugInfo/CodeView/SymbolRecord.h
34

Nevermind I see why you need two. SymbolKind and SymbolRecordKind sounds good.

zturner closed this revision.May 17 2016, 5:51 PM