[LLVMbugs] [Bug 10256] New: Assertion failed: (!Call.isInvalid() && "Call to __builtin_memcpy cannot fail!"), function DefineImplicitCopyAssignment

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sun Jul 3 13:37:27 PDT 2011


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

           Summary: Assertion failed: (!Call.isInvalid() && "Call to
                    __builtin_memcpy cannot fail!"), function
                    DefineImplicitCopyAssignment
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: i.galic at brainsware.org
                CC: llvmbugs at cs.uiuc.edu, dgregor at apple.com


When trying to build this test case:

struct A {
  unsigned int i;
  volatile int buff[2];
};

int main(int argc, char** argv) {
  A a1, a2;
  a1 = a2;
  return 0;
}

I'll get this error:
igalic at tynix ~/src % /opt/llvm-trunk/bin/clang++ foo.cc

foo.cc:1:8: error: cannot initialize a parameter of type 'void *' with an
rvalue of type 'volatile int (*)[2]'
struct A {
       ^
foo.cc:8:5: note: implicit default copy assignment operator for 'A' first
required here
        a1 = a2;
           ^
1 error generated.
igalic at tynix ~/src %

Here's the same build with Asserts enabled:

Assertion failed: (!Call.isInvalid() && "Call to __builtin_memcpy cannot
fail!"), function DefineImplicitCopyAssignment, file SemaDeclCXX.cpp, line
7011.
0  clang             0x00000001019215f2 PrintStackTrace(void*) + 34
1  clang             0x0000000101922443 SignalHandler(int) + 707
2  libSystem.B.dylib 0x00007fff80f0d1ba _sigtramp + 26
3  libSystem.B.dylib 0x0000000c030469f0 _sigtramp + 2182322256
4  clang             0x000000010001b102 __assert_rtn + 66
5  clang             0x000000010048edd8
clang::Sema::DefineImplicitCopyAssignment(clang::SourceLocation,
clang::CXXMethodDecl*) + 9336
6  clang             0x00000001004de018
clang::Sema::MarkDeclarationReferenced(clang::SourceLocation, clang::Decl*) +
2216
7  clang             0x00000001005dc311
clang::Sema::CreateOverloadedBinOp(clang::SourceLocation, unsigned int,
clang::UnresolvedSetImpl const&, clang::Expr*, clang::Expr*) + 4433
8  clang             0x00000001005306f1 clang::Sema::BuildBinOp(clang::Scope*,
clang::SourceLocation, clang::BinaryOperatorKind, clang::Expr*, clang::Expr*) +
241
9  clang             0x0000000100530a17 clang::Sema::ActOnBinOp(clang::Scope*,
clang::SourceLocation, clang::tok::TokenKind, clang::Expr*, clang::Expr*) + 455
10 clang             0x0000000100358bf2
clang::Parser::ParseRHSOfBinaryExpression(clang::ActionResult<clang::Expr*,
true>, clang::prec::Level) + 594
11 clang             0x0000000100357c27
clang::Parser::ParseAssignmentExpression() + 87
12 clang             0x0000000100359901 clang::Parser::ParseExpression() + 17
13 clang             0x0000000100381019
clang::Parser::ParseExprStatement(clang::ParsedAttributes&) + 73
14 clang             0x000000010037d042
clang::Parser::ParseStatementOrDeclaration(clang::ASTOwningVector<clang::Stmt*,
32u>&, bool) + 2130
15 clang             0x000000010037e056
clang::Parser::ParseCompoundStatementBody(bool) + 1526
16 clang             0x000000010037e609
clang::Parser::ParseFunctionStatementBody(clang::Decl*,
clang::Parser::ParseScope&) + 201
17 clang             0x0000000100396bca
clang::Parser::ParseFunctionDefinition(clang::Parser::ParsingDeclarator&,
clang::Parser::ParsedTemplateInfo const&) + 1130
18 clang             0x0000000100336abc
clang::Parser::ParseDeclGroup(clang::Parser::ParsingDeclSpec&, unsigned int,
bool, clang::SourceLocation*, clang::Parser::ForRangeInit*) + 2860
19 clang             0x0000000100397e48
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsingDeclSpec&,
clang::AccessSpecifier) + 168
20 clang             0x00000001003982ce
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&,
clang::AccessSpecifier) + 478
21 clang             0x0000000100398ec3
clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::Parser::ParsingDeclSpec*) + 2931
22 clang             0x00000001003995ca
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) + 554
23 clang             0x00000001003295fb clang::ParseAST(clang::Sema&, bool) +
299
24 clang             0x00000001002f41cc clang::CodeGenAction::ExecuteAction() +
60
25 clang             0x000000010005a521
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 433
26 clang             0x00000001000258f7
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1527
27 clang             0x000000010001c421 cc1_main(char const**, char const**,
char const*, void*) + 577
28 clang             0x000000010002472e main + 4526
29 clang             0x000000010001b854 start + 52
Stack dump:
0.    Program arguments: /Users/thakis/src/llvm-rw/Release+Asserts/bin/clang
-cc1 -triple x86_64-apple-macosx10.6.8 -emit-obj -mrelax-all -disable-free
-main-file-name test.cc -pic-level 1 -mdisable-fp-elim -masm-verbose
-munwind-tables -target-cpu core2 -target-linker-version 97.17 -coverage-file
test.o -resource-dir
/Users/thakis/src/llvm-rw/Release+Asserts/bin/../lib/clang/3.0
-fdeprecated-macro -ferror-limit 19 -fmessage-length 141 -stack-protector 1
-fblocks -fcxx-exceptions -fexceptions -fdiagnostics-show-option
-fcolor-diagnostics -o test.o -x c++ test.cc 
1.    test.cc:8:10: current parser token ';'
2.    test.cc:6:33: parsing function body 'main'
3.    test.cc:6:33: in compound statement ('{}')
clang: error: unable to execute command: Illegal instruction
clang: error: clang frontend command failed due to signal 2 (use -v to see
invocation)

-- 
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