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

            Bug ID: 24305
           Summary: Assertion failure in clang regression test
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++11
          Assignee: unassignedclangb...@nondot.org
          Reporter: sunil_srivast...@playstation.sony.com
                CC: dgre...@apple.com, llvmbugs@cs.uiuc.edu
    Classification: Unclassified

Following example, trimmed from
llvm/tools/clang/test/CXX/class/class.union/p1.cpp gives assertion failure with
-std=c++11

$ cat p1.cpp
class CopyCtor { 
  CopyCtor(CopyCtor &cc);
};
template <class A, class B> struct Either {
  bool tag;
  union {
    A a;
    B b;
  };
  Either(const A& a) : tag(true), a(a) {}
};
void fred() {
  Either<int,CopyCtor> copyctor(0);
}

$ clang++ -S -std=c++11 p1.cpp

…/llvm/tools/clang/include/clang/AST/DeclCXX.h:909: void
clang::CXXRecordDecl::setImplicitMoveConstructorIsDeleted(): Assertion
`(data().DefaultedMoveConstructorIsDeleted ||
needsOverloadResolutionForMoveConstructor()) && "move constructor should not be
deleted"' failed.
…..
clang version 3.8.0 (trunk 243453)
Target: x86_64-unknown-linux-gnu
Thread model: posix

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
LLVMbugs@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to