[swift-dev] Adding a CHECK to test case.
Greg Parker
gparker at apple.com
Mon Dec 18 19:00:03 CST 2017
> On Dec 13, 2017, at 10:47 PM, Atul Sowani via swift-dev <swift-dev at swift.org> wrote:
>
> Hi,
>
> clang_inline_opt.swift test case is failing on ppc64le with following error:
>
> /root/swift-source/swift/test/IRGen/clang_inline_opt.swift:10:11: error: expected string not found in input
> // CHECK: define internal i32 @return7() [[CLANG_ATTRS:#[0-9]+]] {
> ^
> <stdin>:1:1: note: scanning from here
> ; ModuleID = '-'
> ^
> <stdin>:34:1: note: possible intended match here
> define internal zeroext i32 @return7() #1 {
> ^
>
> On ppc64le, following change is required to the CHECK string:
> // CHECK: define internal zeroext i32 @return7() [[CLANG_ATTRS:#[0-9]+]] {
>
> The original string is:
> // CHECK: define internal i32 @return7() [[CLANG_ATTRS:#[0-9]+]] {
>
> How do I add a new CHECK to this file? I tried using CHECK-powerpc64le but that doesn't work.
Using an architecture-specific CHECK directive such as CHECK-powerpc64le requires additional changes to the RUN line. The CHECK variations need to be explained to FileCheck using the --check-prefix option.
Look at tests IRGen/c_layout.sil or IRGen/condfail.sil for examples.
Another possibility for this particular case is to allow `zeroext` on all platforms, on the assumption that the presence or absence of zeroext isn't what the test really wants to check. You could use a FileCheck regex to do that. Then you don't need the complication of an architecture-specific CHECK line. Try this:
// CHECK: define internal{{( zeroext)?}} i32 @return7() [[CLANG_ATTRS:#[0-9]+]] {
> Second alternative is to disable this test on ppc64le. For this I tried to introduce following 2 lines to the clang_inline_opt.swift file by looking at other similar files:
> // REQUIRES: CPU=i386 || CPU=x86_64
> // XFAIL: Linux
>
> But this too is not working, How do I make this test skip on ppc64le otherwise?
The simple way to disable the test on ppc64le is probably spelled like this:
// UNSUPPORTED: CPU=powerpc64le
But making the test work for ppc64le is generally preferred.
--
Greg Parker gparker at apple.com Runtime Wrangler
More information about the swift-dev
mailing list