-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Description
| Bugzilla Link | 3399 |
| Resolution | FIXED |
| Resolved on | Feb 16, 2009 18:14 |
| Version | unspecified |
| OS | Linux |
Extended Description
Seen using r62920 on Ubuntu Hardy on x86.
regehr@john-home:/volatile/tmp131$ llvm-gcc -O2 small.c/volatile/tmp131$ cat small.c
small.c:13: warning: ‘bar’ used but never defined
cc1: Instructions.cpp:1575: static llvm::BinaryOperator* llvm::BinaryOperator::Create(llvm::Instruction::BinaryOps, llvm::Value*, llvm::Value*, const std::string&, llvm::Instruction*): Assertion `S1->getType() == S2->getType() && "Cannot create binary operator with two operands of differing type!"' failed.
small.c:25: internal compiler error: Aborted
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://developer.apple.com/bugreporter for instructions.
regehr@john-home:
static short baz (short x, int y)
{
return 1 >= 1*8 ? : x;
}
static int biz (int x, int y)
{
return (1 & -y) < 0 ? : x - 1;
}
volatile int g_53;
static int bar (void);
int foo (void)
{
int l_2;
for (l_2 = 0; l_2 != 1; l_2 = biz (l_2, 1))
if (bar()) {
if (baz (0 ? : g_53 * (short)l_2, 1))
for (0; 1; 1);
return 1;
}
return 0;
}