Chris Lattner
2002-Dec-15 11:58 UTC
[LLVMdev] Re: llvm-gcc goes 10 rounds against the GNU mascot and loses, film at 11
Brian was kind enough to test llvmgcc against a bunch of GNU code. This exposed all kinds of bugs, fixes below.> recode -- fails (bad headers, many ICEs)Can you give me a list of headers it wants? It's usally pretty easy to add them if I know what it needs...> cpio -- fails (dstring.c -- weird ssa bug)Fixed. This was a C frontend bug (problem assigning temporary reg nums).> diffutils-- fails (analyze.c, diff.c and others)The analyze.c bug is tested here: http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20021209/001957.html and fixed here: http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20021209/001958.html diff.c doesn't compile with the platform CC.> gnuchess -- fails (eval.c, main.c and others)eval.c works now, perhaps because of other fixes. main.c is tested here: http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20021209/001959.html This was a bug in the C frontend treating 'char foo[] = "abcd";' as a constant because the initializer was a const, even though the variable itself wasn't const. Whoops. :) Another interesting part of my fix was that I discovered I wasn't marking nearly as many globals as constant as I should (for example 'const int X 7'). This is also fixed, tested here: http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20021209/001960.html> a2ps -- fails (fonts.c at -O2, and several others)This works now, presumably because of other fixes> grep -- fails (regex.c) > rx -- fails (rxgnucomp.c)These is because of a known problem passing structures by value. I added a new testcase distilled from it, which is somewhat simpler than the previously existing one: New: http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20021209/001961.html Old: test/Regression/CFrontend/2002-04-10-StructParameters.c I will fix this eventually. :)> enscript -- fails (afm.c)This calls setjmp, which isn't supported yet. Thanks for all of the reports!! -Chris -- http://llvm.cs.uiuc.edu/ http://www.nondot.org/~sabre/Projects/