[flang-commits] [flang] [flang][test] Disable Evaluate/fold-out_of_range.f90 on SPARC (PR #102890)

Rainer Orth via flang-commits flang-commits at lists.llvm.org
Mon Aug 12 14:40:45 PDT 2024


================
@@ -1,5 +1,5 @@
 ! RUN: %python %S/test_folding.py %s %flang_fc1 -pedantic
-! UNSUPPORTED: target=powerpc{{.*}}, target=aarch{{.*}}, target=arm{{.*}}, system-windows, system-solaris
+! UNSUPPORTED: target={{(arm|aarch64|powerpc|sparc).*}}, system-windows
----------------
rorth wrote:

> That's interesting. It worked for me on `aarch64-unknown-linux-gnu` with LLVM configured with `-DLLVM_TARGETS_TO_BUILD=all`. It could be sparc related. Just out of curiosity, can you share the error messages you got on `sparc64-unknown-linux-gnu`?

Sure:
```
Command Output (stdout):
--
Not assuming libpgmath support
Folding test failed:
test_r10i1dr .false._4
test_r10i1ur .false._4
test_r10i2dr .false._4
test_r10i2ur .false._4
test_r10i4dr .false._4
test_r10i4ur .false._4
test_r10i8r .false._4
test_r10i8ur .false._4
test_r10r2 .false._4
test_r10r2b .false._4
test_r10r2b .false._4
test_r10r3 .false._4
test_r10r3b .false._4
test_r10r3b .false._4
test_r10r4 .false._4
test_r10r4b .false._4
test_r10r4b .false._4
test_r10r8 .false._4
test_r10r8b .false._4
test_r10r8b .false._4

FAIL

--
Command Output (stderr):
--
RUN: at line 1: "/usr/bin/python3" /vol/llvm/src/llvm-project/local/flang/test/Evaluate/test_folding.py /vol/llvm/src/llvm-project/local/flang/test/Evaluate/fold-out_of_range.f90 /var/llvm/local-sparc64-release-stage2-A-flang/tools/clang/stage2-bins/bin/flang-new -fc1 -pedantic -triple x86_64-unknown-linux-gnu
+ /usr/bin/python3 /vol/llvm/src/llvm-project/local/flang/test/Evaluate/test_folding.py /vol/llvm/src/llvm-project/local/flang/test/Evaluate/fold-out_of_range.f90 /var/llvm/local-sparc64-release-stage2-A-flang/tools/clang/stage2-bins/bin/flang-new -fc1 -pedantic -triple x86_64-unknown-linux-gnu
```
This seems to suggest that the **host** needs `REAL*10` support, not just the target.  If that's really the case, that's highly unexpected.

> What if we require the x86 target instead, as below, does it work for you?
> 
> ```
> ! UNSUPPORTED: system-windows
> ! REQUIRES: target=x86{{.*}}
> ```

It does indeed, although the test turns `UNSUPPORTED` on `amd64-pc-solaris2.11`.  However, I've often found that LLVM's handling of triplets is quite unorthodox, to say the least.  I'd also suggest going for `target=x86_64{{.*}}` to better match the `-triple` arg.

https://github.com/llvm/llvm-project/pull/102890


More information about the flang-commits mailing list