[LLVMbugs] [Bug 8967] New: Assertion `outgoing && "expression emission cleared block!"' failed when compiling mozilla's jsinterp.cpp

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Jan 12 15:49:45 PST 2011


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

           Summary: Assertion `outgoing && "expression emission cleared
                    block!"' failed when compiling mozilla's jsinterp.cpp
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: LLVM Codegen
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: ehsan at mozilla.com
                CC: rafael.espindola at gmail.com, llvmbugs at cs.uiuc.edu


I've been experimenting to compile mozilla's trunk using clang/llvm trunk, and
I hit an assertion:

clang: /home/ehsan/src/llvm/tools/clang/lib/CodeGen/CGStmt.cpp:100: void
clang::CodeGen::CodeGenFunction::EmitStmt(const clang::Stmt*): Assertion
`outgoing && "expression emission cleared block!"' failed.
0  clang           0x000000000170af6f
1  clang           0x000000000170d1e2
2  libpthread.so.0 0x00007f667c987b40
3  libc.so.6       0x00007f667bc85ba5 gsignal + 53
4  libc.so.6       0x00007f667bc896b0 abort + 384
5  libc.so.6       0x00007f667bc7ea71 __assert_fail + 241
6  clang           0x000000000083f552
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 1362
7  clang           0x0000000000841f08
clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&,
bool, clang::CodeGen::AggValueSlot) + 264
8  clang           0x00000000008421a6
clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*) + 262
9  clang           0x000000000083f027
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 39
10 clang           0x0000000000841199
clang::CodeGen::CodeGenFunction::EmitDoStmt(clang::DoStmt const&) + 393
11 clang           0x0000000000841f08
clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&,
bool, clang::CodeGen::AggValueSlot) + 264
12 clang           0x00000000008421a6
clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*) + 262
13 clang           0x000000000083f027
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 39
14 clang           0x0000000000841199
clang::CodeGen::CodeGenFunction::EmitDoStmt(clang::DoStmt const&) + 393
15 clang           0x0000000000841f08
clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&,
bool, clang::CodeGen::AggValueSlot) + 264
16 clang           0x00000000008421a6
clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*) + 262
17 clang           0x000000000083f027
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 39
18 clang           0x00000000008631b9
clang::CodeGen::CodeGenFunction::GenerateCode(clang::CodeGen::GlobalDecl,
llvm::Function*) + 617
19 clang           0x000000000075b765
clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::CodeGen::GlobalDecl)
+ 725
20 clang           0x000000000075c292
clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::CodeGen::GlobalDecl)
+ 194
21 clang           0x000000000075ce7d
clang::CodeGen::CodeGenModule::EmitGlobal(clang::CodeGen::GlobalDecl) + 845
22 clang           0x000000000075d43b
clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) + 411
23 clang           0x000000000075d93b
clang::CodeGen::CodeGenModule::EmitNamespace(clang::NamespaceDecl const*) + 59
24 clang           0x000000000075d5d5
clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) + 821
25 clang           0x000000000074fb61
26 clang           0x000000000074dec1
27 clang           0x000000000087a906 clang::ParseAST(clang::Sema&, bool) + 166
28 clang           0x000000000074ef14 clang::CodeGenAction::ExecuteAction() +
68
29 clang           0x00000000006449c5
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 357
30 clang           0x000000000062248c
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1276
31 clang           0x0000000000619f85 cc1_main(char const**, char const**, char
const*, void*) + 693
32 clang           0x000000000062149b main + 4587
33 libc.so.6       0x00007f667bc70d8e __libc_start_main + 254
34 clang           0x0000000000618679
Stack dump:
0.    Program arguments: /home/ehsan/src/build/Release+Asserts/bin/clang -cc1
-triple x86_64-unknown-linux-gnu -S -disable-free -main-file-name jsinterp.cpp
-pic-level 2 -mdisable-fp-elim -relaxed-aliasing -masm-verbose
-mconstructor-aliases -munwind-tables -target-cpu x86-64 -target-linker-version
2.20.51 -v -g -resource-dir
/home/ehsan/src/build/Release+Asserts/bin/../lib/clang/2.9 -Wall
-Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy
-Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros
-Werror=return-type -Wno-long-long -pedantic -ferror-limit 19 -fmessage-length
0 -pthread -fno-rtti -fgnu-runtime -fdiagnostics-show-option -o jsinterp.s -x
c++-cpp-output tmp.ii 
1.    <eof> parser at end of file
2.    tmp.ii:47169:11: LLVM IR generation of declaration 'js'
3.    tmp.ii:47172:1: Generating code for declaration 'js::Interpret'
4.    tmp.ii:47173:1: LLVM IR generation of compound statement ('{}')
5.    tmp.ii:48250:8: LLVM IR generation of compound statement ('{}')
6.    tmp.ii:48250:60: LLVM IR generation of compound statement ('{}')
Aborted

I'm attaching the preprocessed source file.

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