[PATCH] D79447: [Debug][CodeView] Emit fully qualified names for globals

Hans Wennborg via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 18 05:52:36 PDT 2020


hans added a comment.

In D79447#2041250 <https://reviews.llvm.org/D79447#2041250>, @hans wrote:

> > - Added assert in `emitDebugInfoForUDTs` to ensure no lowering can occur during UDT emission, as suggested by @rnk
>
> It seems we hit the assert in Chromium. Here's a reproducer: https://bugs.chromium.org/p/chromium/issues/detail?id=1083877#c3 (I'll try to create a shorter one.)
>
> I've reverted in 525a591f0f48b9d54018bf5245f2abee09c9c1c8 <https://reviews.llvm.org/rG525a591f0f48b9d54018bf5245f2abee09c9c1c8> in the meantime.


Reduced repro:

  $ cat /tmp/x.ii
  typedef int a;
  struct b;
  class c {
    c();
    a b::*d;
  };
  c::c() = default;
  
  $ clang -cc1 -triple x86_64-pc-windows-msvc19.16.0 -emit-obj -gcodeview -debug-info-kind=limited /tmp/x.ii
  clang: /work/llvm.monorepo/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp:2997: void llvm::CodeViewDebug::emitDebugInfoForUDTs(const std::vector<std::pair<std::string, const DIType *>> &): Assertion `OriginalSize == UDTs.size()' failed.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D79447/new/

https://reviews.llvm.org/D79447





More information about the llvm-commits mailing list