[LLVMbugs] [Bug 4052] New: ICE: This is not a truncating conversion!

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Fri Apr 24 08:44:26 PDT 2009


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

           Summary: ICE: This is not a truncating conversion!
           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 using r69856 on Ubuntu Hardy on x86.

regehr at john-home:~/volatile/tmp152$ llvm-gcc -O2 -Wall -c small.c
cc1: ScalarEvolution.cpp:651: llvm::SCEVHandle
llvm::ScalarEvolution::getTruncateExpr(const llvm::SCEVHandle&, const
llvm::Type*): Assertion `getTypeSizeInBits(Op->getType()) >
getTypeSizeInBits(Ty) && "This is not a truncating conversion!"' failed.
small.c:22: internal compiler error: Aborted
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://llvm.org/bugs/> for instructions.

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

char safe_sub_func_int32_t_s_s (int _si1, char _si2)
{
  return ((_si1 ^ _si2) & _si1 << ((1 * 8) - 1 - _si2)) < 0;
}

int safe_sub_func_uint64_t_u_u (int _ui1, int _ui2)
{
  return _ui1 - 1;
}

volatile int x;

void int87 (char p_48, char p_49)
{
  unsigned l_52;
  for (; l_52; l_52 = safe_sub_func_int32_t_s_s (l_52, 1)) {
    x;
    for (l_52 = 0; l_52 <= 0; l_52 = safe_sub_func_uint64_t_u_u (l_52, 1))
      {
      }
  }
}


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