[all-commits] [llvm/llvm-project] ff3b51: Revert d91ed80 "[codeview] Reference types in type...

Hans via All-commits all-commits at lists.llvm.org
Fri Nov 8 02:35:23 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: ff3b513495c04d87799b3c5a98ddcdb6996af4f3
      https://github.com/llvm/llvm-project/commit/ff3b513495c04d87799b3c5a98ddcdb6996af4f3
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2019-11-08 (Fri, 08 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
    R llvm/test/DebugInfo/COFF/parent-type-scopes.ll

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

This triggered asserts in the Chromium build, see https://crbug.com/1022729 for
details and reproducer.

> 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