[LLVMbugs] [Bug 10860] New: "Trying to aggregate-copy a type without a trivial copy " "constructor or assignment operator"' failed

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sun Sep 4 19:15:07 PDT 2011


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: unassignedclangbugs at nondot.org
        ReportedBy: rafael.espindola at gmail.com
                CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com


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.



More information about the llvm-bugs mailing list