[compiler-rt] b63ca0a - [Sanitizers][test] XFAIL long double tests on Solaris/sparc

Rainer Orth via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 9 00:20:42 PST 2022


Author: Rainer Orth
Date: 2022-02-09T09:20:21+01:00
New Revision: b63ca0a0681fa3f1c4ec21d195667dcf36adbb22

URL: https://github.com/llvm/llvm-project/commit/b63ca0a0681fa3f1c4ec21d195667dcf36adbb22
DIFF: https://github.com/llvm/llvm-project/commit/b63ca0a0681fa3f1c4ec21d195667dcf36adbb22.diff

LOG: [Sanitizers][test] XFAIL long double tests on Solaris/sparc

As reported in Issue #41838, `clang` doesn't correctly implement `long
double` on 32-bit Solaris/SPARC: the psABI requires this to be an 128-bit
type.  Four sanitizer tests currently `FAIL` for this reason.

While there is a WIP patch to fix `clang` (D89130
<https://reviews.llvm.org/D89130>), it isn't complete yet and I've hit so
many brick walls while trying to finish it that I'm unsure if I ever will.

This patch therefore `XFAIL`s those tests in the meantime.

Tested on `sparcv9-sun-solaris2.11`.

Differential Revision: https://reviews.llvm.org/D119016

Added: 
    

Modified: 
    compiler-rt/test/sanitizer_common/TestCases/printf-ldbl.c
    compiler-rt/test/sanitizer_common/TestCases/scanf-ldbl.c
    compiler-rt/test/ubsan/TestCases/Float/cast-overflow.cpp
    compiler-rt/test/ubsan/TestCases/Misc/log-path_test.cpp

Removed: 
    


################################################################################
diff  --git a/compiler-rt/test/sanitizer_common/TestCases/printf-ldbl.c b/compiler-rt/test/sanitizer_common/TestCases/printf-ldbl.c
index f6629ab81c3b3..25686ad01162b 100644
--- a/compiler-rt/test/sanitizer_common/TestCases/printf-ldbl.c
+++ b/compiler-rt/test/sanitizer_common/TestCases/printf-ldbl.c
@@ -1,5 +1,8 @@
 // RUN: %clang %s -o %t && %run %t 2>&1
 
+// Issue #41838
+// XFAIL: sparc-target-arch && solaris
+
 #include <assert.h>
 #include <stdio.h>
 #include <string.h>

diff  --git a/compiler-rt/test/sanitizer_common/TestCases/scanf-ldbl.c b/compiler-rt/test/sanitizer_common/TestCases/scanf-ldbl.c
index 9ca30f4a65688..1e488a9162d16 100644
--- a/compiler-rt/test/sanitizer_common/TestCases/scanf-ldbl.c
+++ b/compiler-rt/test/sanitizer_common/TestCases/scanf-ldbl.c
@@ -1,5 +1,8 @@
 // RUN: %clang %s -o %t && %run %t 2>&1
 
+// Issue #41838
+// XFAIL: sparc-target-arch && solaris
+
 #include <assert.h>
 #include <stdio.h>
 #include <string.h>

diff  --git a/compiler-rt/test/ubsan/TestCases/Float/cast-overflow.cpp b/compiler-rt/test/ubsan/TestCases/Float/cast-overflow.cpp
index 479c39f28428a..2d291b2004322 100644
--- a/compiler-rt/test/ubsan/TestCases/Float/cast-overflow.cpp
+++ b/compiler-rt/test/ubsan/TestCases/Float/cast-overflow.cpp
@@ -11,6 +11,9 @@
 // FIXME: not %run %t 8 2>&1 | FileCheck %s --check-prefix=CHECK-8
 // RUN: not %run %t 9 2>&1 | FileCheck %s --check-prefix=CHECK-9
 
+// Issue #41838
+// XFAIL: sparc-target-arch && solaris
+
 // This test assumes float and double are IEEE-754 single- and double-precision.
 
 #if defined(__APPLE__)

diff  --git a/compiler-rt/test/ubsan/TestCases/Misc/log-path_test.cpp b/compiler-rt/test/ubsan/TestCases/Misc/log-path_test.cpp
index 23ad7e27d21f8..1bcbd8439f67e 100644
--- a/compiler-rt/test/ubsan/TestCases/Misc/log-path_test.cpp
+++ b/compiler-rt/test/ubsan/TestCases/Misc/log-path_test.cpp
@@ -25,6 +25,9 @@
 // FIXME: log_path is not supported on Windows yet.
 // XFAIL: windows-msvc
 
+// Issue #41838
+// XFAIL: sparc-target-arch && solaris
+
 #include <stdio.h>
 #include <stdlib.h>
 int main(int argc, char *argv[]) {


        


More information about the llvm-commits mailing list