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: unassignedb...@nondot.org
          Reporter: dimi...@andric.com
                CC: llvm-bugs@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.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to