[LLVMbugs] [Bug 8926] New: clang++ assert while compiling c++ source file

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Jan 7 04:34:48 PST 2011


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

           Summary: clang++ assert while compiling c++ source file
           Product: clang
           Version: trunk
          Platform: Macintosh
        OS/Version: MacOS X
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: felix.ritter at mevis.fraunhofer.de
                CC: llvmbugs at cs.uiuc.edu


clang version 2.9 (trunk 122999)
Target: x86_64-apple-darwin10
Thread model: posix


I've attached the preprocessed source file, that crashes when compiled with the
trunk clang++:

clang++ -c PythonQtSlot.ii

Assertion failed: (!HasCachedLinkage || Linkage(CachedLinkage) ==
LI.linkage()), function getLinkageAndVisibility, file Decl.cpp, line 587.
0  clang             0x00000001014cb4c2 PrintStackTrace(void*) + 34
1  clang             0x00000001014cc313 SignalHandler(int) + 707
2  libSystem.B.dylib 0x00007fff8596a67a _sigtramp + 26
3  libSystem.B.dylib 0x00007fff5fbf9cf8 _sigtramp + 3660117656
4  clang             0x000000010001a2b2 __assert_rtn + 66
5  clang             0x00000001007d3695
clang::NamedDecl::getLinkageAndVisibility() const + 149
6  clang             0x00000001002adbd7
clang::CodeGen::CodeGenModule::SetFunctionAttributes(clang::CodeGen::GlobalDecl,
llvm::Function*, bool) + 87
7  clang             0x00000001002b1272
clang::CodeGen::CodeGenModule::GetOrCreateLLVMFunction(llvm::StringRef,
llvm::Type const*, clang::CodeGen::GlobalDecl) + 914
8  clang             0x00000001001f508e
clang::CodeGen::CodeGenFunction::EmitCXXMemberCallExpr(clang::CXXMemberCallExpr
const*, clang::CodeGen::ReturnValueSlot) + 1630
9  clang             0x00000001001dc7b8
clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*,
clang::CodeGen::ReturnValueSlot) + 104
10 clang             0x00000001002171ce clang::StmtVisitor<(anonymous
namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) + 3374
11 clang             0x00000001002181b0 (anonymous
namespace)::ScalarExprEmitter::Visit(clang::Expr*) + 272
12 clang             0x0000000100218239
clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) + 121
13 clang             0x00000001001dc4e6
clang::CodeGen::CodeGenFunction::EmitAnyExpr(clang::Expr const*,
clang::CodeGen::AggValueSlot, bool) + 86
14 clang             0x00000001001dc64c
clang::CodeGen::CodeGenFunction::EmitAnyExprToTemp(clang::Expr const*) + 76
15 clang             0x000000010019ed5e
clang::CodeGen::CodeGenFunction::EmitCallArg(clang::Expr const*,
clang::QualType) + 62
16 clang             0x00000001001ea1f8 void
clang::CodeGen::CodeGenFunction::EmitCallArgs<clang::FunctionProtoType>(llvm::SmallVector<std::pair<clang::CodeGen::RValue,
clang::QualType>, 16u>&, clang::FunctionProtoType const*,
clang::ConstExprIterator, clang::ConstExprIterator) + 440
17 clang             0x00000001001dace0
clang::CodeGen::CodeGenFunction::EmitCall(clang::QualType, llvm::Value*,
clang::CodeGen::ReturnValueSlot, clang::ConstExprIterator,
clang::ConstExprIterator, clang::Decl const*) + 352
18 clang             0x00000001001dc98a
clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*,
clang::CodeGen::ReturnValueSlot) + 570
19 clang             0x000000010021715f clang::StmtVisitor<(anonymous
namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) + 3263
20 clang             0x00000001002181b0 (anonymous
namespace)::ScalarExprEmitter::Visit(clang::Expr*) + 272
21 clang             0x0000000100218239
clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) + 121
22 clang             0x000000010027d08d
clang::CodeGen::CodeGenFunction::EmitReturnStmt(clang::ReturnStmt const&) + 173
23 clang             0x000000010027eb94
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 964
24 clang             0x00000001002816ab
clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&,
bool, clang::CodeGen::AggValueSlot) + 283
25 clang             0x0000000100281a42
clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*) + 498
26 clang             0x000000010027e800
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 48
27 clang             0x00000001002813eb
clang::CodeGen::CodeGenFunction::EmitIfStmt(clang::IfStmt const&) + 459
28 clang             0x000000010027ec2f
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 1119
29 clang             0x00000001002816ab
clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&,
bool, clang::CodeGen::AggValueSlot) + 283
30 clang             0x0000000100281a42
clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*) + 498
31 clang             0x000000010027e800
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 48
32 clang             0x00000001002813eb
clang::CodeGen::CodeGenFunction::EmitIfStmt(clang::IfStmt const&) + 459
33 clang             0x000000010027ec2f
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 1119
34 clang             0x0000000100281457
clang::CodeGen::CodeGenFunction::EmitIfStmt(clang::IfStmt const&) + 567
35 clang             0x000000010027ec2f
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 1119
36 clang             0x00000001002816ab
clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&,
bool, clang::CodeGen::AggValueSlot) + 283
37 clang             0x0000000100281a42
clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*) + 498
38 clang             0x000000010027e800
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 48
39 clang             0x00000001002a6d2f
clang::CodeGen::CodeGenFunction::GenerateCode(clang::CodeGen::GlobalDecl,
llvm::Function*) + 1071
40 clang             0x00000001002b3291
clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::CodeGen::GlobalDecl)
+ 753
41 clang             0x00000001002b62eb
clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::CodeGen::GlobalDecl)
+ 395
42 clang             0x00000001002b6466
clang::CodeGen::CodeGenModule::EmitGlobal(clang::CodeGen::GlobalDecl) + 150
43 clang             0x00000001002b70a0
clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) + 912
44 clang             0x00000001002da20c (anonymous
namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) + 60
45 clang             0x00000001002a0a2b (anonymous
namespace)::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) + 155
46 clang             0x00000001002e6206 clang::ParseAST(clang::Sema&, bool) +
182
47 clang             0x00000001002a130c clang::CodeGenAction::ExecuteAction() +
60
48 clang             0x0000000100052c89
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 393
49 clang             0x0000000100024392
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1602
50 clang             0x000000010001c01a cc1_main(char const**, char const**,
char const*, void*) + 586
51 clang             0x00000001000233c4 main + 5524
52 clang             0x000000010001a994 start + 52
Stack dump:
0.    Program arguments: /Users/ritter/Temp/llvm/Release+Asserts/bin/clang -cc1
-triple x86_64-apple-darwin10.0.0 -emit-obj -mrelax-all -disable-free
-main-file-name PythonQtSlot.ii -pic-level 1 -mdisable-fp-elim -masm-verbose
-munwind-tables -target-cpu core2 -target-linker-version 97.17 -resource-dir
/Users/ritter/Temp/llvm/Release+Asserts/bin/../lib/clang/2.9 -ferror-limit 19
-fmessage-length 80 -stack-protector 1 -fblocks -fexceptions
-fdiagnostics-show-option -fcolor-diagnostics -o PythonQtSlot.o -x
c++-cpp-output PythonQtSlot.ii 
1.    src/PythonQtSlot.cpp:249:1: current parser token 'PyObject'
2.    src/PythonQtSlot.cpp:197:11: LLVM IR generation of declaration
'PythonQtSlotFunction_Call'
3.    src/PythonQtSlot.cpp:197:11: Generating code for declaration
'PythonQtSlotFunction_Call'
4.    src/PythonQtSlot.cpp:198:1: LLVM IR generation of compound statement
('{}')
5.    src/PythonQtSlot.cpp:210:64: LLVM IR generation of compound statement
('{}')
6.    src/PythonQtSlot.cpp:212:35: LLVM IR generation of compound statement
('{}')
clang: error: unable to execute command: Illegal instruction
clang: error: clang frontend command failed due to signal 1 (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