Ok, now this is interesting:

> avalon:CodeGenObjC$ ../../../../build/Release+Asserts/bin/llvm-lit -sv 
> stret_lookup.m
> llvm-lit: lit.cfg:184: note: using clang: 
> '/Users/js/Devel/LLVM/build/Release+Asserts/bin/clang'
> FAIL: Clang :: CodeGenObjC/stret_lookup.m (1 of 1)
> ******************** TEST 'Clang :: CodeGenObjC/stret_lookup.m' FAILED 
> ********************
> Script:
> --
> /Users/js/Devel/LLVM/build/Release+Asserts/bin/clang -cc1 -internal-isystem 
> /Users/js/Devel/LLVM/build/Release+Asserts/bin/../lib/clang/3.4/include 
> -DSTRET -triple x86_64-pc-linux-gnu -fobjc-runtime=objfw -emit-llvm -o - 
> /Users/js/Devel/LLVM/tools/clang/test/CodeGenObjC/stret_lookup.m | FileCheck 
> -check-prefix=STRET 
> /Users/js/Devel/LLVM/tools/clang/test/CodeGenObjC/stret_lookup.m
> /Users/js/Devel/LLVM/build/Release+Asserts/bin/clang -cc1 -internal-isystem 
> /Users/js/Devel/LLVM/build/Release+Asserts/bin/../lib/clang/3.4/include 
> -triple x86_64-pc-linux-gnu -fobjc-runtime=gcc -emit-llvm -o - 
> /Users/js/Devel/LLVM/tools/clang/test/CodeGenObjC/stret_lookup.m | FileCheck 
> -check-prefix=NOSTRET 
> /Users/js/Devel/LLVM/tools/clang/test/CodeGenObjC/stret_lookup.m
> --
> Exit Code: 1
> Command Output (stderr):
> --
> /Users/js/Devel/LLVM/tools/clang/test/CodeGenObjC/stret_lookup.m:26:13: 
> error: expected string not found in input
> // NOSTRET: define void @test0()
>             ^
> <stdin>:34:86: note: scanning from here
>  call void %1(%struct.test* sret %tmp, i8* bitcast (i64* @_OBJC_CLASS_Test0 
> to i8*), i8* bitcast ([2 x { i8*, i8* }]* @.objc_selector_list to i8*)), 
> !GNUObjCMessageSend !0
>                                                                               
>        ^
> <stdin>:48:1: note: possible intended match here
> declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture 
> readonly, i64, i32, i1) #1
> ^
> --
> 
> ********************
> Testing Time: 0.04s
> ********************
> Failing Tests (1):
>     Clang :: CodeGenObjC/stret_lookup.m
> 
>   Unexpected Failures: 1

You see, it's not even finding @test0(). That seemed like a bug to me, so I 
tried manually executing the command line it printed:

> /Users/js/Devel/LLVM/build/Release+Asserts/bin/clang -cc1 -internal-isystem 
> /Users/js/Devel/LLVM/build/Release+Asserts/bin/../lib/clang/3.4/include 
> -triple x86_64-pc-linux-gnu -fobjc-runtime=gcc -emit-llvm -o - 
> /Users/js/Devel/LLVM/tools/clang/test/CodeGenObjC/stret_lookup.m | FileCheck 
> -check-prefix=NOSTRET 
> /Users/js/Devel/LLVM/tools/clang/test/CodeGenObjC/stret_lookup.m


Ok, so let's fix the path for FileCheck:

> avalon:CodeGenObjC$ /Users/js/Devel/LLVM/build/Release+Asserts/bin/clang -cc1 
> -internal-isystem 
> /Users/js/Devel/LLVM/build/Release+Asserts/bin/../lib/clang/3.4/include 
> -triple x86_64-pc-linux-gnu -fobjc-runtime=gcc -emit-llvm -o - 
> /Users/js/Devel/LLVM/tools/clang/test/CodeGenObjC/stret_lookup.m | 
> ../../../../build/Release+Asserts/bin/FileCheck -check-prefix=NOSTRET 
> /Users/js/Devel/LLVM/tools/clang/test/CodeGenObjC/stret_lookup.m
> avalon:CodeGenObjC$ echo $?
> 0

And it suddenly works. Is it possible that llvm-lit is buggy and calls another 
FileCheck or changes something in the environment like add 
DYLD_INSERT_LIBRARIES that screw things up? Where does it look for FileCheck? I 
can only find build/Release+Asserts/bin/FileCheck. Does FileCheck come with 
Xcode and maybe it tries to use that instead?

Anyway, I guess this means my tests are correct, right? So, can this get in 
once I add the documentation?

--
Jonathan
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to