[LLVMbugs] [Bug 11509] New: ?: with cast to void breaks build of SelectInst
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Thu Dec 8 13:28:41 PST 2011
http://llvm.org/bugs/show_bug.cgi?id=11509
Bug #: 11509
Summary: ?: with cast to void breaks build of SelectInst
Product: clang
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: LLVM Codegen
AssignedTo: unassignedclangbugs at nondot.org
ReportedBy: nlewycky at google.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
This testcase:
int f(void);
void test() {
f() ? (void)0 : (void)0;
}
crashes in IRGen:
nlewycky at ducttape:~$ llvm/Debug+Asserts/bin/clang -cc1 -emit-llvm-only z.i
0 clang 0x0000000002c28ff5
1 clang 0x0000000002c28de8
2 libpthread.so.0 0x00007f46a916f8f0
3 clang 0x0000000001353dc6 llvm::Value::getType() const + 12
4 clang 0x0000000001379824
llvm::SelectInst::SelectInst(llvm::Value*, llvm::Value*, llvm::Value*,
llvm::Twine const&, llvm::Instruction*) + 62
5 clang 0x00000000013798e8 llvm::SelectInst::Create(llvm::Value*,
llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*) + 84
6 clang 0x000000000137b75b llvm::IRBuilder<true,
llvm::ConstantFolder, llvm::IRBuilderDefaultInserter<true>
>::CreateSelect(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&) +
205
7 clang 0x0000000001425a47
8 clang 0x0000000001427feb
9 clang 0x00000000014272fe
10 clang 0x0000000001419781
11 clang 0x00000000014263b2
clang::CodeGen::CodeGenFunction::EmitScalarExpr(clang::Expr const*, bool) + 158
12 clang 0x00000000013df5be
clang::CodeGen::CodeGenFunction::EmitAnyExpr(clang::Expr const*,
clang::CodeGen::AggValueSlot, bool) + 84
13 clang 0x00000000013df51d
clang::CodeGen::CodeGenFunction::EmitIgnoredExpr(clang::Expr const*) + 139
14 clang 0x000000000147e4ff
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 401
15 clang 0x000000000147eaf1
clang::CodeGen::CodeGenFunction::EmitCompoundStmt(clang::CompoundStmt const&,
bool, clang::CodeGen::AggValueSlot) + 299
16 clang 0x000000000147e8ac
clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*) + 234
17 clang 0x000000000147e3b9
clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*) + 75
18 clang 0x0000000001495c84
clang::CodeGen::CodeGenFunction::EmitFunctionBody(clang::CodeGen::FunctionArgList&)
+ 154
19 clang 0x0000000001496105
clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl,
llvm::Function*, clang::CodeGen::CGFunctionInfo const&) + 831
20 clang 0x000000000132f9a2
clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl)
+ 908
21 clang 0x000000000132d5be
clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl) + 450
22 clang 0x000000000132d04e
clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) + 852
23 clang 0x00000000013329c2
clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) + 310
24 clang 0x00000000013263e9
25 clang 0x0000000001324d1f
clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) + 163
26 clang 0x00000000014b99d8 clang::ParseAST(clang::Sema&, bool) + 440
27 clang 0x00000000011a21df clang::ASTFrontendAction::ExecuteAction()
+ 265
28 clang 0x000000000132419e clang::CodeGenAction::ExecuteAction() +
968
29 clang 0x00000000011a1e2e clang::FrontendAction::Execute() + 326
30 clang 0x000000000117c328
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 750
31 clang 0x000000000114d33c
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 972
32 clang 0x000000000113ca09 cc1_main(char const**, char const**, char
const*, void*) + 999
33 clang 0x000000000114893e main + 499
34 libc.so.6 0x00007f46a8449c4d __libc_start_main + 253
35 clang 0x000000000113bca9
Stack dump:
0. Program arguments: llvm/Debug+Asserts/bin/clang -cc1 -emit-llvm-only
z.i
1. <eof> parser at end of file
2. z.i:2:6: LLVM IR generation of declaration 'test'
3. z.i:2:6: Generating code for declaration 'test'
4. z.i:2:13: LLVM IR generation of compound statement ('{}')
Segmentation fault
--
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