https://bugs.llvm.org/show_bug.cgi?id=43012

            Bug ID: 43012
           Summary: Assertion: debug info must have a !dbg location with
                    repro
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: C++
          Assignee: unassignedclangb...@nondot.org
          Reporter: alexandre.ga...@ubisoft.com
                CC: apra...@apple.com, blitzrak...@gmail.com,
                    dgre...@apple.com, erik.pilking...@gmail.com,
                    llvm-bugs@lists.llvm.org, richard-l...@metafoo.co.uk,
                    r...@google.com

Created attachment 22379
  --> https://bugs.llvm.org/attachment.cgi?id=22379&action=edit
repro

This test case:

// RUN: %clang -cc1 -emit-llvm %s -gcodeview -debug-info-kind=limited

struct a {
  ~a();
};
template <typename b> struct c : a {
  c(void (b::*)());
};
struct B {
  virtual void e();
};
c<B> *d() { static c<B> f(&B::e); return &f; }


Generates an assertion when compiling Clang with -DLLVM_ENABLE_ASSERTIONS=ON

inlinable function call in a function with debug info must have a !dbg location
  call void @"??1?$c@UB@@@@QEAA@XZ"(%struct.c*
@"?f@?1??d@@YAPEAU?$c@UB@@@@XZ@4U2@A")
fatal error: error in backend: Broken module found, compilation aborted!


>From a distance it seems "!48 = distinct !DISubprogram(name: "`dynamic atexit
destructor for 'f'"" is missing a 'line' entry? (see .ll)

Unless you have time, any suggestions to where should I look?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to