[LLVMbugs] [Bug 5387] New: incorrect integer conversion with -O1

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Tue Nov 3 22:26:36 PST 2009


           Summary: incorrect integer conversion with -O1
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: LLVM Codegen
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: chenyang at cs.utah.edu
                CC: llvmbugs at cs.uiuc.edu, regehr at cs.utah.edu,
                    jxyang at cs.utah.edu

Using trunk 85610, the code below shows wrong behavior. The for loop should be

yang at yang-working:~$ clang -O1 -o small small.c
yang at yang-working:~$ ./small
yang at yang-working:~$ cat small.c
#include <stdio.h>

static unsigned short foo(unsigned short ui1, unsigned short ui2)
  return (ui1 - ui2);

static int bar(void)
    int l_2 = 0;
    for (l_2 = -1; (l_2 > -25); l_2 = foo(l_2, 1))

    return 0;

int main(void)
    return 0;
yang at yang-working:~$ clang -v
clang version 1.1 (trunk 85610)
Target: i386-pc-linux-gnu
Thread model: posix

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