[PATCH] D112337: [DebugInfo] Only create concrete DIEs of concrete functions

Adrian Kuegel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 10 01:55:55 PST 2021


akuegel added a comment.

We have isolated this patch to cause a crash when compiling certain source files. My colleague has created a minimized reproducer, which I will share below, however I must note that personally I could not reproduce the crash with that reproducer. However I verified that with this patch reverted, we don't run into the crash anymore when compiling the original source file.

class A {                                                     
public:

  unsigned n;                                                     
  void Append() {                                                     
    auto raw_append = [] {};                                                     
    while (Avail())                                                     
      ;
  }                                                     
  long Avail();

} a;
bool c;
void f(A) { a.Append(); }

Crashes with

~/code/llvm-build-release/bin/clang "-cc1" "-triple" "x86_64-grtev4-linux-gnu" -ferror-limit 9999 "-emit-obj" "-debug-info-kind=constructor" "-dwarf-version=5" "-mllvm" "-generate-type-units" "-O3" "-std=gnu++17" "-fgnuc-version=4.2.1" "-fsized-deallocation" "-mllvm" "-disable-binop-extract-shuffle" "-x" "c++" "repro.ii"


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D112337



More information about the llvm-commits mailing list