This is an archive of the discontinued LLVM Phabricator instance.

Get rid of CVLeafTypes.h
ClosedPublic

Authored by zturner on May 11 2016, 5:02 PM.

Details

Summary

This merges the functionality of the macros in CVLeafTypes.def and the macros in TypeRecords.def into a single set of macros.

Diff Detail

Event Timeline

zturner updated this revision to Diff 56986.May 11 2016, 5:02 PM
zturner retitled this revision from to Get rid of CVLeafTypes.h.
zturner updated this object.
zturner added reviewers: rnk, amccarth.
zturner added a subscriber: llvm-commits.
rnk accepted this revision.May 11 2016, 5:11 PM
rnk edited edge metadata.

LG, although I guess this depends on that meta-programming approach to deserialization which I should review.

include/llvm/DebugInfo/CodeView/TypeRecords.def
30

I liked TYPE_RECORD and MEMBER_RECORD better than KNOWN_TYPE and MEMBER_TYPE. MEMBER_TYPES aren't really types, they're records describing class members.

This revision is now accepted and ready to land.May 11 2016, 5:11 PM
amccarth added inline comments.May 12 2016, 8:22 AM
include/llvm/DebugInfo/CodeView/TypeRecord.h
1018

My code is a little out of date, so I can't easily look up OneMethodRecord. What does the empty StringRef() argument represent?

include/llvm/DebugInfo/CodeView/TypeRecords.def
30

+1 for the old names.

For whatever reason, records in MethodList don't contain a name, but in
OneMethod they do

rnk added a comment.May 12 2016, 10:06 AM

For whatever reason, records in MethodList don't contain a name, but in
OneMethod they do

MethodList is probably better named OverloadedMethodList or something like that. All the methods in the list have the same name. In a FieldList (which is really more of a MemberList) you can have two kinds of methods: OneMethod and OverloadedMethod. For whatever reason, OverloadedMethod points at a MethodList instead of listing all the overloads directly inline as trailing data. The OverloadedMethodRecord has the name for all the methods.

zturner updated this revision to Diff 57068.May 12 2016, 10:27 AM
zturner edited edge metadata.

Changed MethodList to MethodOverloadList

amccarth accepted this revision.May 12 2016, 10:48 AM
amccarth edited edge metadata.
Eugene.Zelenko added a subscriber: Eugene.Zelenko.

Committed in r269316.