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

            Bug ID: 15386
           Summary: non-terminating loops with optimization causes clang
                    to hang
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: LLVM Codegen
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
    Classification: Unclassified

The following snippet causes top-of-trunk clang to get stuck in an infinite
loop when compiled at -O1 or higher.  This is likely related to 15384, but that
bug only triggers at -O3.

$ clang-trunk -v
clang version 3.3 (trunk 172630)
Target: x86_64-pc-linux-gnu
Thread model: posix
$ cat loop.c
int a, b, c;

void f1 ()
{
  for (; b; b++)
    if (a) 
      a = 1;

  for (b = 0; b != 1; b = b + (unsigned int) 2)
    if (!a) 
      a = 0;
}

void f2 ()
{
  for (;;);
}

void f3 ()
{
  f2();
  for (; c; c++) 
    f2();
  f1();
}

int main ()
{
  return 0;
}
$ clang-trunk -O1 loop.c
$ clang-trunk -Os loop.c
<hangs>

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to