[all-commits] [llvm/llvm-project] d91ed8: [codeview] Reference types in type parent scopes

Reid Kleckner via All-commits all-commits at lists.llvm.org
Thu Nov 7 13:58:06 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: d91ed80e97ac9bfcfb02440874ed8b9a51c9491e
      https://github.com/llvm/llvm-project/commit/d91ed80e97ac9bfcfb02440874ed8b9a51c9491e
  Author: Reid Kleckner <rnk at google.com>
  Date:   2019-11-07 (Thu, 07 Nov 2019)

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

  Log Message:
  -----------
  [codeview] Reference types in type parent scopes

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

Reviewers: akhuang, amccarth

Differential Revision: https://reviews.llvm.org/D69924




More information about the All-commits mailing list