[LLVMbugs] [Bug 21467] New: clang hangs on valid code at -Os and above on x86_64-linux-gnu

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Nov 3 13:42:35 PST 2014


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

            Bug ID: 21467
           Summary: clang hangs on valid code at -Os and above on
                    x86_64-linux-gnu
           Product: clang
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: su at cs.ucdavis.edu
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

The following test case causes the current clang trunk to hang when compiling
at -Os and above in both 32-bit and 64-bit modes on x86_64-linux-gnu.

It is regression from 3.1 and affects all earlier versions of clang since 3.2.
It also seems to affect MacOS X. 

This should be different from PR 21377, which also affects clang 3.1.  

$ clang-trunk -v
clang version 3.6.0 (trunk 220839)
Target: x86_64-unknown-linux-gnu
Thread model: posix
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.8.1
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.3
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.1
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
$ 
$ clang-trunk -O1 -c small.c
$ clang-3.1 -Os -c small.c
$ 
$ timeout -s 9 30 clang-trunk -Os -c small.c
Killed
$ 


-----------------------


struct { int f1; } b;
char a;
int c;

short
fn1 (int p1, int p2)
{
  return p2 == 0 ? p1 : p1 / p2;
}

void fn2 () { }

void
fn3 ()
{
  fn2 ();
  unsigned char d = 0;
  while (1)
    {
      d |= a;
      c = fn1 (10, 1);
      if (fn1 (1, c))
    d |= 0;
      else
    b.f1 = 0;
      d |= a;
    }
}

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20141103/7c181ee4/attachment.html>


More information about the llvm-bugs mailing list