[LLVMbugs] [Bug 9985] New: Codegen fails when -gdwarf-2 is set

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sun May 22 11:24:40 PDT 2011


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

           Summary: Codegen fails when -gdwarf-2 is set
           Product: clang
           Version: trunk
          Platform: Macintosh
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: LLVM Codegen
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: joshuacweinberg at gmail.com
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=6629)
 --> (http://llvm.org/bugs/attachment.cgi?id=6629)
Code that fails

clang -gdwarf-2 x -c main.mm

Assertion failed: (!DC->isClosure()), function getNonClosureContext, file
/Users/jweinberg/Development/llvm/tools/clang/lib/AST/DeclBase.cpp, line 651.
0  clang             0x00000001048cf8e2 _ZL15PrintStackTracePv + 34
1  clang             0x00000001048cfee9 _ZL13SignalHandleri + 745
2  libsystem_c.dylib 0x00007fff8ee61d3a _sigtramp + 26
3  libsystem_c.dylib 000000000000000000 _sigtramp + 18446603338118718176
4  clang             0x00000001048cf846 abort + 22
5  clang             0x00000001048cf898 __assert_rtn + 56
6  clang             0x0000000103ddb2bc clang::Decl::CheckAccessDeclContext()
const + 0
7  clang             0x000000010391b31b
clang::CodeGen::CGDebugInfo::EmitDeclareOfBlockLiteralArgVariable(clang::CodeGen::CGBlockInfo
const&, llvm::Value*, llvm::IRBuilder<true, llvm::ConstantFolder,
llvm::IRBuilderDefaultInserter<true> >&) + 1941
8  clang             0x0000000103920267
clang::CodeGen::CodeGenFunction::EmitParmDecl(clang::VarDecl const&,
llvm::Value*, unsigned int) + 321
9  clang             0x00000001038fc8df
clang::CodeGen::CodeGenFunction::EmitFunctionProlog(clang::CodeGen::CGFunctionInfo
const&, llvm::Function*, clang::CodeGen::FunctionArgList const&) + 1025
10 clang             0x00000001039ba79f
clang::CodeGen::CodeGenFunction::StartFunction(clang::CodeGen::GlobalDecl,
clang::QualType, llvm::Function*, clang::CodeGen::CGFunctionInfo const&,
clang::CodeGen::FunctionArgList const&, clang::SourceLocation) + 1457
11 clang             0x00000001038e2120
clang::CodeGen::CodeGenFunction::GenerateBlockFunction(clang::CodeGen::GlobalDecl,
clang::CodeGen::CGBlockInfo const&, clang::Decl const*,
llvm::DenseMap<clang::Decl const*, llvm::Value*, llvm::DenseMapInfo<clang::Decl
const*>, llvm::DenseMapInfo<llvm::Value*> > const&) + 1670
12 clang             0x00000001038e4797
clang::CodeGen::CodeGenFunction::EmitBlockLiteral(clang::BlockExpr const*) +
335
13 clang             0x0000000103955083 clang::StmtVisitorBase<clang::make_ptr,
(anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) +
10137
14 clang             0x000000010394d74f
clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) + 95
15 clang             0x00000001039641dd
clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(clang::ObjCMessageExpr
const*, clang::CodeGen::ReturnValueSlot) + 165
16 clang             0x0000000103957694 clang::StmtVisitorBase<clang::make_ptr,
(anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) +
19882
17 clang             0x000000010394d74f
clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) + 95
18 clang             0x00000001039641dd
clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(clang::ObjCMessageExpr
const*, clang::CodeGen::ReturnValueSlot) + 165
19 clang             0x0000000103957694 clang::StmtVisitorBase<clang::make_ptr,
(anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) +
19882
20 clang             0x000000010394d74f
clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) + 95
21 clang             0x000000010399becb
clang::CodeGen::CodeGenFunction::EmitReturnStmt(clang::ReturnStmt const&) + 333
22 clang             0x000000010399cbdf
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 637
23 clang             0x000000010399f58c
clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&,
bool, clang::CodeGen::AggValueSlot) + 244
24 clang             0x000000010399ce5a
clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*) + 146
25 clang             0x000000010399c98b
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 41
26 clang             0x00000001038e24dc
clang::CodeGen::CodeGenFunction::GenerateBlockFunction(clang::CodeGen::GlobalDecl,
clang::CodeGen::CGBlockInfo const&, clang::Decl const*,
llvm::DenseMap<clang::Decl const*, llvm::Value*, llvm::DenseMapInfo<clang::Decl
const*>, llvm::DenseMapInfo<llvm::Value*> > const&) + 2626
27 clang             0x00000001038e4797
clang::CodeGen::CodeGenFunction::EmitBlockLiteral(clang::BlockExpr const*) +
335
28 clang             0x0000000103955083 clang::StmtVisitorBase<clang::make_ptr,
(anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) +
10137
29 clang             0x000000010394d74f
clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) + 95
30 clang             0x00000001039641dd
clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(clang::ObjCMessageExpr
const*, clang::CodeGen::ReturnValueSlot) + 165
31 clang             0x0000000103957694 clang::StmtVisitorBase<clang::make_ptr,
(anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) +
19882
32 clang             0x000000010394d74f
clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) + 95
33 clang             0x00000001039641dd
clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(clang::ObjCMessageExpr
const*, clang::CodeGen::ReturnValueSlot) + 165
34 clang             0x0000000103957694 clang::StmtVisitorBase<clang::make_ptr,
(anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) +
19882
35 clang             0x000000010394d74f
clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) + 95
36 clang             0x000000010399becb
clang::CodeGen::CodeGenFunction::EmitReturnStmt(clang::ReturnStmt const&) + 333
37 clang             0x000000010399cbdf
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 637
38 clang             0x000000010399f58c
clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&,
bool, clang::CodeGen::AggValueSlot) + 244
39 clang             0x000000010399ce5a
clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*) + 146
40 clang             0x000000010399c98b
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 41
41 clang             0x00000001038e24dc
clang::CodeGen::CodeGenFunction::GenerateBlockFunction(clang::CodeGen::GlobalDecl,
clang::CodeGen::CGBlockInfo const&, clang::Decl const*,
llvm::DenseMap<clang::Decl const*, llvm::Value*, llvm::DenseMapInfo<clang::Decl
const*>, llvm::DenseMapInfo<llvm::Value*> > const&) + 2626
42 clang             0x00000001038e4797
clang::CodeGen::CodeGenFunction::EmitBlockLiteral(clang::BlockExpr const*) +
335
43 clang             0x0000000103955083 clang::StmtVisitorBase<clang::make_ptr,
(anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) +
10137
44 clang             0x000000010394d74f
clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) + 95
45 clang             0x00000001039641dd
clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(clang::ObjCMessageExpr
const*, clang::CodeGen::ReturnValueSlot) + 165
46 clang             0x0000000103957694 clang::StmtVisitorBase<clang::make_ptr,
(anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) +
19882
47 clang             0x000000010394d74f
clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) + 95
48 clang             0x00000001039641dd
clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr(clang::ObjCMessageExpr
const*, clang::CodeGen::ReturnValueSlot) + 165
49 clang             0x0000000103957694 clang::StmtVisitorBase<clang::make_ptr,
(anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) +
19882
50 clang             0x000000010395d23e (anonymous
namespace)::ScalarExprEmitter::EmitCastExpr(clang::CastExpr*) + 494
51 clang             0x000000010395582f clang::StmtVisitorBase<clang::make_ptr,
(anonymous namespace)::ScalarExprEmitter, llvm::Value*>::Visit(clang::Stmt*) +
12101
52 clang             0x000000010394d74f
clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) + 95
53 clang             0x000000010399becb
clang::CodeGen::CodeGenFunction::EmitReturnStmt(clang::ReturnStmt const&) + 333
54 clang             0x000000010399cbdf
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 637
55 clang             0x000000010399f58c
clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&,
bool, clang::CodeGen::AggValueSlot) + 244
56 clang             0x000000010399ce5a
clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*) + 146
57 clang             0x000000010399c98b
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 41
58 clang             0x00000001039bab3a
clang::CodeGen::CodeGenFunction::GenerateCode(clang::CodeGen::GlobalDecl,
llvm::Function*, clang::CodeGen::CGFunctionInfo const&) + 662
59 clang             0x00000001039c18fc
clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::CodeGen::GlobalDecl)
+ 2452
60 clang             0x00000001039c2680
clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::CodeGen::GlobalDecl)
+ 396
61 clang             0x00000001039c33bd
clang::CodeGen::CodeGenModule::EmitDeferred() + 159
62 clang             0x00000001039c36f2
clang::CodeGen::CodeGenModule::Release() + 20
63 clang             0x00000001039b7835
clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 93
64 clang             0x00000001039d7acf clang::ParseAST(clang::Sema&, bool) +
431
65 clang             0x00000001039b68ec clang::CodeGenAction::ExecuteAction() +
874
66 clang             0x00000001037f2b21
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 947
67 clang             0x00000001037cde87
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1863
68 clang             0x00000001037c831b cc1_main(char const**, char const**,
char const*, void*) + 2779
69 clang             0x00000001037cae70 main + 640
70 clang             0x00000001037c7834 start + 52
71 clang             0x000000000000002c start + 18446744069356095532
Stack dump:
0.    Program arguments:
/Users/jweinberg/Development/llvm/build/Release+Asserts/bin/clang -cc1 -triple
x86_64-apple-macosx10.7.0 -emit-obj -mrelax-all -disable-free -main-file-name
main.mm -pic-level 1 -mdisable-fp-elim -masm-verbose -munwind-tables
-target-cpu core2 -target-linker-version 123.2.1 -g -coverage-file main.o
-resource-dir
/Users/jweinberg/Development/llvm/build/Release+Asserts/bin/../lib/clang/3.0
-std=c++0x -fdeprecated-macro -ferror-limit 19 -fmessage-length 176
-stack-protector 1 -fblocks -fobjc-exceptions -fcxx-exceptions -fexceptions
-fobjc-nonfragile-abi -fobjc-dispatch-method=mixed -fdiagnostics-show-option
-fcolor-diagnostics -o main.o -x objective-c++
/Users/jweinberg/Development/LLVMCrash/LLVMCrash/main.mm 
1.    <eof> parser at end of file
2.    Per-file LLVM IR generation
3.    /Users/jweinberg/Development/LLVMCrash/LLVMCrash/main.mm:16:5: Generating
code for declaration 'Curry<int (^)(int, int, int)>::operator int
(^(^(^)(int))(int))(int)'
4.    /Users/jweinberg/Development/LLVMCrash/LLVMCrash/main.mm:17:5: LLVM IR
generation of compound statement ('{}')
5.    /Users/jweinberg/Development/LLVMCrash/LLVMCrash/main.mm:18:27: LLVM IR
generation of compound statement ('{}')
6.    /Users/jweinberg/Development/LLVMCrash/LLVMCrash/main.mm:19:31: LLVM IR
generation of compound statement ('{}')
clang: error: unable to execute command: Illegal instruction: 4
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