stage2 compiler is miscompiled on Linux x86

Hi all,

I have an interesting problem. I am doing bootstrap in 3 stage and noticed that stage2 compiler is miscompiled only on Linux x86 (64bit is fine). stage1 compiler passes all tests so gcc should be fine. Here is the failing tests in stage2:

FAIL: Clang :: CodeGen/const-init.c (1125 of 4216)
******************** TEST ‘Clang :: CodeGen/const-init.c’ FAILED ********************
Script:

Hi all,

I have an interesting problem. I am doing bootstrap in 3 stage and noticed that stage2 compiler is miscompiled only on Linux x86 (64bit is fine). stage1 compiler passes all tests so gcc should be fine. Here is the failing tests in stage2:

FAIL: Clang :: CodeGen/const-init.c (1125 of 4216)
******************** TEST 'Clang :: CodeGen/const-init.c' FAILED ********************
Script:
--
/home/abuild/rpmbuild/BUILD/llvm-3.0.99.svn149865/stage2/Release+Asserts/bin/clang -cc1 -internal-isystem /home/abuild/rpmbuild/BUILD/llvm-3.0.99.svn149865/stage2/Release+Asserts/bin/../lib/clang/3.1/include -triple i386-pc-linux-gnu -ffreestanding -verify -emit-llvm -o - /home/abuild/rpmbuild/BUILD/llvm-3.0.99.svn149865/tools/clang/test/CodeGen/const-init.c | FileCheck /home/abuild/rpmbuild/BUILD/llvm-3.0.99.svn149865/tools/clang/test/CodeGen/const-init.c
--
Exit Code: 1
Command Output (stderr):
--
/home/abuild/rpmbuild/BUILD/llvm-3.0.99.svn149865/tools/clang/test/CodeGen/const-init.c:141:12: error: expected string not found in input
// CHECK: @g28.b = internal global <12 x i16> <i16 0, i16 0, i16 0, i16 -32768, i16 16383, i16 0, i16 0, i16 0, i16 0, i16 -32768, i16 16384, i16 0>
           ^
<stdin>:51:44: note: scanning from here
@g28.a = internal global <1 x i64> <i64 10>, align 8
                                           ^
<stdin>:52:1: note: possible intended match here
@g28.b = internal global <12 x i16> <i16 0, i16 0, i16 0, i16 -32768, i16 16383, i16 16383, i16 16383, i16 16383, i16 0, i16 0, i16 0, i16 0>, align 32
^
--

FAIL: Clang :: CodeGenObjC/interface.m (1846 of 4216)
******************** TEST 'Clang :: CodeGenObjC/interface.m' FAILED ********************
Script:
--
/home/abuild/rpmbuild/BUILD/llvm-3.0.99.svn149865/stage2/Release+Asserts/bin/clang -cc1 -internal-isystem /home/abuild/rpmbuild/BUILD/llvm-3.0.99.svn149865/stage2/Release+Asserts/bin/../lib/clang/3.1/include -triple i386-apple-darwin9 -fobjc-fragile-abi -O3 -emit-llvm -o /home/abuild/rpmbuild/BUILD/llvm-3.0.99.svn149865/stage2/tools/clang/test/CodeGenObjC/Output/interface.m.tmp /home/abuild/rpmbuild/BUILD/llvm-3.0.99.svn149865/tools/clang/test/CodeGenObjC/interface.m
grep 'ret i32 385' /home/abuild/rpmbuild/BUILD/llvm-3.0.99.svn149865/stage2/tools/clang/test/CodeGenObjC/Output/interface.m.tmp
--
Exit Code: 1

It would be nice if any of you can give a hint on what file(s) might be miscompiled so I can try to debug this issue.

I made a somewhat reduced testcase and filed http://llvm.org/bugs/show_bug.cgi?id=11940 to track it.

- Ben