[llvm-bugs] [Bug 31692] New: After r291388: Assertion failed: (it != OpaqueRValues.end() && "no mapping for opaque value!"), function getOpaqueRValueMapping, file tools/clang/lib/CodeGen/CodeGenFunction.h, line 2008.

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Jan 19 03:45:07 PST 2017


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

            Bug ID: 31692
           Summary: After r291388: Assertion failed: (it !=
                    OpaqueRValues.end() && "no mapping for opaque
                    value!"), function getOpaqueRValueMapping, file
                    tools/clang/lib/CodeGen/CodeGenFunction.h, line 2008.
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: dimitry at andric.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

After r291388 (bug 23135: Don't instantiate constexpr functions referenced in
unevaluated operands where possible), bootstrapping clang with clang itself
results in an assertion while compiling lib/MC/MCParser/AsmParser.cpp:

Assertion failed: (it != OpaqueRValues.end() && "no mapping for opaque
value!"), function getOpaqueRValueMapping, file
tools/clang/lib/CodeGen/CodeGenFunction.h, line 2008.
Abort trap

Minimized test case:
========================================================================
// clang -cc1 -triple x86_64 -S -std=c++11 testcase.cpp
template <bool> struct x0;
template <int> struct x1 { static int x2; };
template <class x3> struct x4 : x1<__is_constructible(x3)> {};
template <bool> struct x5;
template <class... x3> struct x6 {
  template <bool x7, typename x0<x5<x7 && x4<x3>::x2...>::x2>::x8> x6();
};
template <typename x9> struct x10 : x9 {};
struct x11 {
  struct x12 {
    int x13 = 0;
  } x14;
  x10<x6<x12>> x15;
  void x16();
};
void x11::x16() {
  if (x14.x13)
    ;
}
========================================================================

Bisection shows this assertion to have been introduced by r291388.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170119/6fc63baa/attachment-0001.html>


More information about the llvm-bugs mailing list