clang make test results on Linux (r48120)

Hi,

I have run make test on Linux (x86 and x86-64) for the first time, and
here are the results:
[ignoring the Rewriter failures on x86, since I don't have objc headers
installed there]

If you want preprocessed sources for any of the below, let me know and
I'll open a bugreport for them.

This is on x86 Linux:
******************** TEST 'CodeGen/mandel.c' FAILED! ********************
******************** TEST 'CodeGen/mandel.c' FAILED! ********************
******************** TEST 'Lexer/digraph.cpp' FAILED! ********************
******************** TEST 'Lexer/digraph.cpp' FAILED! ********************

This is on x86-64 Linux:
******************** TEST 'Rewriter/undef-field-reference-1.m' FAILED!

clang_log_x86.bz2 (7.49 KB)

clang_log_x86-64.bz2 (5.42 KB)

I have run make test on Linux (x86 and x86-64) for the first time, and
here are the results:
[ignoring the Rewriter failures on x86, since I don't have objc headers
installed there]

If you want preprocessed sources for any of the below, let me know and
I'll open a bugreport for them.

This is on x86 Linux:
******************** TEST 'CodeGen/mandel.c' FAILED! ********************

this problem is already reported: 1955 – tgmath.h is broken on Linux
It's related with the glibc's inline version of hypot().

******************** TEST 'Lexer/digraph.cpp' FAILED! ********************

Reported already as well: 2091 – referenced structure should? be implicitly defined

Nuno

Hi,

I have run make test on Linux (x86 and x86-64) for the first time, and
here are the results:
[ignoring the Rewriter failures on x86, since I don't have objc headers
installed there]

Is this from mainline? None of the rewriter tests use objc.h anymore.

If you want preprocessed sources for any of the below, let me know and
I'll open a bugreport for them.

This is on x86 Linux:
******************** TEST 'Lexer/digraph.cpp' FAILED! ********************
******************** TEST 'Lexer/digraph.cpp' FAILED! ********************

This looks like a failure to parse your system stdio.h file. I think this is just because we haven't implemented C++ rules for tag lookup yet.

This is on x86-64 Linux:
******************** TEST 'Rewriter/undef-field-reference-1.m' FAILED!

This isn't from mainline. typedef.c doesn't exist anymore.

-Chris

Chris Lattner wrote:

Hi,

I have run make test on Linux (x86 and x86-64) for the first time, and
here are the results:
[ignoring the Rewriter failures on x86, since I don't have objc headers
installed there]

Is this from mainline? None of the rewriter tests use objc.h anymore.

$ grep objc.h Driver/RewriteTest.cpp
  "#include <objc/objc.h>\n"
  // declared in <objc/objc.h>

$ svn info Driver/RewriteTest.cpp
Path: Driver/RewriteTest.cpp
Name: RewriteTest.cpp
URL: http://llvm.org/svn/llvm-project/cfe/trunk/Driver/RewriteTest.cpp
Repository Root: http://llvm.org/svn/llvm-project
Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8
Revision: 48138
Node Kind: file
Schedule: normal
Last Changed Author: lattner
Last Changed Rev: 47954
Last Changed Date: 2008-03-05 20:54:05 +0200 (Wed, 05 Mar 2008)
Text Last Updated: 2008-03-09 17:25:07 +0200 (Sun, 09 Mar 2008)
Checksum: cf794ea4033018e82aed8dfc8835de7d

Isn't this the latest SVN version of clang? Am I missing something?

If I remove gobjc-4.2 I get failure like this:

Command:
clang -rewrite-test Rewriter/undef-field-reference-1.m | clang
Output:
<stdin>:23:10: error: 'objc/objc.h' file not found
#include <objc/objc.h>
         ^
<stdin>:27:2: error: type name requires a specifier or qualifier
        id *itemsPtr;
        ^
<stdin>:27:5: error: expected ';' at end of declaration list
        id *itemsPtr;
           ^
3 diagnostics generated

If I have gobjc-4.2 installed, and set include path to use it, I get a
different failure:

Command:
clang -rewrite-test Rewriter/undef-field-reference-1.m | clang
Output:
clang[0x69b126]
/lib/libc.so.6[0x3932831f70]
clang(_ZN5clang12HeaderSearch11getFileInfoEPKNS_9FileEntryE+0xc)[0x5a68bc]
clang(_ZN5clang4Sema16MergeTypeDefDeclEPNS_11TypedefDeclEPNS_10ScopedDeclE+0x192)[0x524332]
clang(_ZN5clang4Sema15ActOnDeclaratorEPNS_5ScopeERNS_10DeclaratorEPv+0x86d)[0x52b0fd]
clang(_ZN5clang6Parser43ParseInitDeclaratorListAfterFirstDeclaratorERNS_10DeclaratorE+0x60)[0x590990]
clang(_ZN5clang6Parser22ParseSimpleDeclarationEj+0x1d0)[0x5923a0]
clang(_ZN5clang6Parser24ParseExternalDeclarationEv+0x17f)[0x58c75f]
clang(_ZN5clang6Parser17ParseTopLevelDeclERPv+0x1d)[0x58c99d]
clang(_ZN5clang8ParseASTERNS_12PreprocessorEPNS_11ASTConsumerEb+0x42b)[0x51f86b]
clang[0x4adf9f]
clang(main+0x8f1)[0x4b05a1]
/lib/libc.so.6(__libc_start_main+0xfa)[0x393281e1ea]
clang[0x491949]
Output/Rewriter/undef-field-reference-1.m.out.script: line 1: 10835
Done clang -rewrite-test
Rewriter/undef-field-reference-1.m
     10836 Segmentation fault | clang

This looks like a problem when clang is reading the file from stdin,
because FE is NULL here:
HeaderSearch::PerFileInfo &HeaderSearch::getFileInfo(const FileEntry *FE)

This patch avoids this:
Index: include/clang/Lex/HeaderSearch.h

Unfortunately, the rewriter output includes <objc/objc.h>.

I will fix this today.

snaroff

Hi,

I have run make test on Linux (x86 and x86-64) for the first time,
and
here are the results:
[ignoring the Rewriter failures on x86, since I don't have objc
headers
installed there]

Is this from mainline? None of the rewriter tests use objc.h anymore.

Unfortunately, the rewriter output includes <objc/objc.h>.

I will fix this today.

You may want to make this specific to Darwin target. Also, note that everything we do in Rewrite.cpp is for Darwin objective-c ABI. We have no support for Gnu objective-c ABI (which need be added).

- Fariborz

Ah, I see. Well the current rewritetest is only really useful on a mac. Should I disable the rewriter tests when not on a mac?

-Chris

n Mar 9, 2008, at 3:06 PM, Török Edwin wrote:

Hi,

I have run make test on Linux (x86 and x86-64) for the first time, and
here are the results:
[ignoring the Rewriter failures on x86, since I don't have objc
headers
installed there]

Is this from mainline? None of the rewriter tests use objc.h anymore.

Unfortunately, the rewriter output includes <objc/objc.h>.

I will fix this today.

Ah, I see. Well the current rewritetest is only really useful on a mac. Should I disable the rewriter tests when not on a mac?

Fine with me...

Snaroff

I will fix this today.

Ah, I see. Well the current rewritetest is only really useful on a mac. Should I disable the rewriter tests when not on a mac?

Fine with me...

Done.

-Chris