[PATCH] D69924: [codeview] Reference types in type parent scopes

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 6 15:10:40 PST 2019


rnk created this revision.
rnk added reviewers: akhuang, amccarth.
Herald added a subscriber: hiraditya.
Herald added a project: LLVM.

Without this change, when a nested tag type of any kind (enum, class,
struct, union) is used as a variable type, it is emitted without
emitting the parent type. In CodeView, parent types point to their inner
types, and inner types do not point back to their parents. We already
walk over all of the parent scopes to build the fully qualified name.
This change simply requests their type indices as we go along to enusre
they are all emitted.

Fixes PR43905


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D69924

Files:
  llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
  llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
  llvm/test/DebugInfo/COFF/global-constants.ll
  llvm/test/DebugInfo/COFF/parent-type-scopes.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D69924.228158.patch
Type: text/x-patch
Size: 13438 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191106/3a86266f/attachment.bin>


More information about the llvm-commits mailing list