This is an archive of the discontinued LLVM Phabricator instance.

[CodeView] Implement support for enums
ClosedPublic

Authored by majnemer on Jun 16 2016, 11:54 AM.

Details

Summary

MSVC handles enums differently from structs and classes: a forward
declaration is not emitted unconditionally. MSVC does not emit an S_UDT
record for the enum.

Diff Detail

Repository
rL LLVM

Event Timeline

majnemer updated this revision to Diff 61004.Jun 16 2016, 11:54 AM
majnemer retitled this revision from to [CodeView] Implement support for enums.
majnemer updated this object.
majnemer added reviewers: rnk, aaboud.
majnemer added a subscriber: llvm-commits.
rnk accepted this revision.Jun 16 2016, 12:40 PM
rnk edited edge metadata.

lgtm

This revision is now accepted and ready to land.Jun 16 2016, 12:40 PM
This revision was automatically updated to reflect the committed changes.
aaboud added inline comments.Jun 16 2016, 5:19 PM
lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
1095 ↗(On Diff #61004)

Can you explain why we are lowering "Record Field List" instead of "Enumeration Field List"?
There is nothing in common between enum and class, is there?

I suggest to create a new function called lowerEnumerationFieldList().