[LLVMbugs] [Bug 4736] New: ice: Binary operator types must match!

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Tue Aug 18 08:08:58 PDT 2009


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

           Summary: ice: Binary operator types must match!
           Product: new-bugs
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: regehr at cs.utah.edu
                CC: llvmbugs at cs.uiuc.edu


Seen on Ubuntu Hardy on x86.

regehr at john-home:~/volatile/tmp184$ clang -O2 small.c

clang-cc: SelectionDAG.cpp:2538: llvm::SDValue
llvm::SelectionDAG::getNode(unsigned int, llvm::DebugLoc, llvm::EVT,
llvm::SDValue, llvm::SDValue): Assertion `VT.isInteger() && N1.getValueType()
== N2.getValueType() && N1.getValueType() == VT && "Binary operator types must
match!"' failed.
0   clang-cc 0x09320ef8
Stack dump:
0.      Program arguments:
/home/regehr/z/tmp/llvm-gcc-r79306-install/bin/../libexec/clang-cc -triple
i386-pc-linux-gnu -S -disable-free -main-file-name small.c --relocation-model
static --disable-fp-elim --unwind-tables=0 --mcpu=pentium4 --fmath-errno=1 -O2
-fdiagnostics-show-option -o /tmp/cc-DaVIq9.s -x c small.c 
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@int87'
clang: error: compiler command failed due to signal 6 (use -v to see
invocation)

regehr at john-home:~/volatile/tmp184$ clang -v

clang version 1.0 (http://llvm.org/svn/llvm-project/cfe/trunk 79306)
Target: i386-pc-linux-gnu
Thread model: posix

regehr at john-home:~/volatile/tmp184$ cat small.c

struct S0
{
  int f0;
  long long int f1;
  long long int f2;
  long long int f3;
};

struct S1
{
  int f0;
  char f1;
  struct S0 f2;
};

volatile int g_4;

struct S1 g_144 = {
  0L, 1L
};

int func_72 (char p_74)
{
  return g_4;
}

int func_70 (struct S1 p_71)
{
  int l_77;
  if (func_72 (p_71.f2.f3))
    return p_71.f2.f1;
  for (l_77 = 0; l_77; )
    {
      return 1;
    }
  return p_71.f2.f2;
}

int int87 (uint64p_8)
{
  for (; ; )
    if (func_70 (g_144))
      {
        return 1;
      }
  return 0;
}


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