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
