[swift-dev] Adding a CHECK to test case.

Atul Sowani sowani at gmail.com
Wed Dec 20 00:22:26 CST 2017


Excellent help Greg! Thank you so much for this! Really appreciate it.

Atul.

On Tue, Dec 19, 2017 at 6:30 AM, Greg Parker <gparker at apple.com> wrote:

>
> > 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
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-dev/attachments/20171220/65c6ffbb/attachment.html>


More information about the swift-dev mailing list