On Wed, Jul 17, 2013 at 2:06 AM, Jonathan Schleifer <[email protected]> wrote:
> 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?

Ah, I figured out what's happening.  The other invocation is the one
that's failing.  Try changing your "STRET" prefix to "HASSTRET". :)

-Eli

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

Reply via email to