http://llvm.org/bugs/show_bug.cgi?id=10860

           Summary: "Trying to aggregate-copy a type without a trivial
                    copy " "constructor or assignment operator"' failed
           Product: clang
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++0x
        AssignedTo: [email protected]
        ReportedBy: [email protected]
                CC: [email protected], [email protected]


clang  -cc1 -S -std=gnu++0x

crashes on

struct ElfValue {
};
class ElfLocation: public ElfValue {
  virtual unsigned int getValue();
};
template<typename>     struct remove_reference;
template<typename _Tp>     struct remove_reference<_Tp&>     {
  typedef _Tp type;
};
template<typename _Tp>  typename remove_reference<_Tp>::type&&     move(_Tp&&
__t)     {
  return static_cast<typename remove_reference<_Tp>::type&&>(__t);
}
ElfLocation* __old_finish;
void foo()  {
  *__old_finish = move(*--__old_finish);
}


With

clang: /home/espindola/llvm/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp:1074:
void clang::CodeGen::CodeGenFunction::EmitAggregateCopy(llvm::Value *,
llvm::Value *, clang::QualType, bool): Assertion
`(Record->hasTrivialCopyConstructor() || Record->hasTrivialCopyAssignment()) &&
"Trying to aggregate-copy a type without a trivial copy " "constructor or
assignment operator"' failed.

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to