Page MenuHomePhabricator

Correctly recognize bitfields when emitting dwarf
AcceptedPublic

Authored by mahkoh on Feb 9 2021, 5:56 AM.

Details

Summary

The code incorrectly assumed that full-sized bitfields are located at a
byte boundary.

This fixes https://bugs.llvm.org/show_bug.cgi?id=44601

Diff Detail

Event Timeline

mahkoh created this revision.Feb 9 2021, 5:56 AM
mahkoh requested review of this revision.Feb 9 2021, 5:56 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 9 2021, 5:56 AM

@aprantl / @JDevlieghere you folks might want to check this out from a backwards compatibility/validation perspective.

aprantl accepted this revision.Feb 12 2021, 9:08 AM

Let's watch the LLDB / GDB bots carefully after landing this, but it seems to make sense to me.

llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
1544

This line definitely looks good.

This revision is now accepted and ready to land.Feb 12 2021, 9:08 AM

This makes sense, I was surprised we did not catch this on the lldb side but it looks like we do ok with this case because it appears like a regular field.

shafik accepted this revision.Feb 12 2021, 9:42 AM

I do not have commit access. Please commit this for me.