]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: no dfp run without dfprt
authorAlexandre Oliva <oliva@adacore.com>
Mon, 29 Jan 2024 18:08:32 +0000 (15:08 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Mon, 29 Jan 2024 18:08:32 +0000 (15:08 -0300)
newlib-src/libc/include/sys/fenv.h doesn't define the FE_* macros that
libgcc expects to enable decimal float support.  Only after newlib is
configured and built does an overriding header that defines those
macros become available in objdir/<target>/newlib/targ-include/, but
by then, libgcc has already been built without dfp and libbid.

This has exposed a number of tests that attempt to link dfp programs
without requiring a dfprt effective target.

dfp.exp already skips if dfp support is missing altogether, and sets
the default to compile rather than run if dfp support is present in
the compiler but missing in the runtime libraries.

However, some of the dfp tests override the default without requiring
dfprt.  Drop the overriders where reasonable, and add the explicit
requirement elsewhere.

for  gcc/testsuite/ChangeLog

* c-c++-common/dfp/pr36800.c: Drop dg-do overrider.
* c-c++-common/dfp/pr39034.c: Likewise.
* c-c++-common/dfp/pr39035.c: Likewise.
* gcc.dg/dfp/bid-non-canonical-d32-1.c: Likewise.
* gcc.dg/dfp/bid-non-canonical-d32-2.c: Likewise.
* gcc.dg/dfp/bid-non-canonical-d64-1.c: Likewise.
* gcc.dg/dfp/bid-non-canonical-d64-2.c: Likewise.
* gcc.dg/dfp/builtin-snan-1.c: Likewise.
* gcc.dg/dfp/builtin-tgmath-dfp.c: Likewise.
* gcc.dg/dfp/c23-float-dfp-4.c: Likewise.
* gcc.dg/dfp/c23-float-dfp-5.c: Likewise.
* gcc.dg/dfp/c23-float-dfp-6.c: Likewise.
* gcc.dg/dfp/c23-float-dfp-7.c: Likewise.
* gcc.dg/dfp/pr108068.c: Likewise.
* gcc.dg/dfp/pr97439.c: Likewise.
* g++.dg/compat/decimal/pass-1_main.C: Require dfprt.
* g++.dg/compat/decimal/pass-2_main.C: Likewise.
* g++.dg/compat/decimal/pass-3_main.C: Likewise.
* g++.dg/compat/decimal/pass-4_main.C: Likewise.
* g++.dg/compat/decimal/pass-5_main.C: Likewise.
* g++.dg/compat/decimal/pass-6_main.C: Likewise.
* g++.dg/compat/decimal/return-1_main.C: Likewise.
* g++.dg/compat/decimal/return-2_main.C: Likewise.
* g++.dg/compat/decimal/return-3_main.C: Likewise.
* g++.dg/compat/decimal/return-4_main.C: Likewise.
* g++.dg/compat/decimal/return-5_main.C: Likewise.
* g++.dg/compat/decimal/return-6_main.C: Likewise.
* g++.dg/eh/dfp-1.C: Likewise.
* g++.dg/eh/dfp-2.C: Likewise.
* g++.dg/eh/dfp-saves-aarch64.C: Likewise.
* gcc.c-torture/execute/pr80692.c: Likewise.
* gcc.dg/dfp/bid-non-canonical-d128-1.c: Likewise.
* gcc.dg/dfp/bid-non-canonical-d128-2.c: Likewise.
* gcc.dg/dfp/bid-non-canonical-d128-3.c: Likewise.
* gcc.dg/dfp/bid-non-canonical-d128-4.c: Likewise.

35 files changed:
gcc/testsuite/c-c++-common/dfp/pr36800.c
gcc/testsuite/c-c++-common/dfp/pr39034.c
gcc/testsuite/c-c++-common/dfp/pr39035.c
gcc/testsuite/g++.dg/compat/decimal/pass-1_main.C
gcc/testsuite/g++.dg/compat/decimal/pass-2_main.C
gcc/testsuite/g++.dg/compat/decimal/pass-3_main.C
gcc/testsuite/g++.dg/compat/decimal/pass-4_main.C
gcc/testsuite/g++.dg/compat/decimal/pass-5_main.C
gcc/testsuite/g++.dg/compat/decimal/pass-6_main.C
gcc/testsuite/g++.dg/compat/decimal/return-1_main.C
gcc/testsuite/g++.dg/compat/decimal/return-2_main.C
gcc/testsuite/g++.dg/compat/decimal/return-3_main.C
gcc/testsuite/g++.dg/compat/decimal/return-4_main.C
gcc/testsuite/g++.dg/compat/decimal/return-5_main.C
gcc/testsuite/g++.dg/compat/decimal/return-6_main.C
gcc/testsuite/g++.dg/eh/dfp-1.C
gcc/testsuite/g++.dg/eh/dfp-2.C
gcc/testsuite/g++.dg/eh/dfp-saves-aarch64.C
gcc/testsuite/gcc.c-torture/execute/pr80692.c
gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d128-1.c
gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d128-2.c
gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d128-3.c
gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d128-4.c
gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d32-1.c
gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d32-2.c
gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d64-1.c
gcc/testsuite/gcc.dg/dfp/bid-non-canonical-d64-2.c
gcc/testsuite/gcc.dg/dfp/builtin-snan-1.c
gcc/testsuite/gcc.dg/dfp/builtin-tgmath-dfp.c
gcc/testsuite/gcc.dg/dfp/c23-float-dfp-4.c
gcc/testsuite/gcc.dg/dfp/c23-float-dfp-5.c
gcc/testsuite/gcc.dg/dfp/c23-float-dfp-6.c
gcc/testsuite/gcc.dg/dfp/c23-float-dfp-7.c
gcc/testsuite/gcc.dg/dfp/pr108068.c
gcc/testsuite/gcc.dg/dfp/pr97439.c

index 76ff28c98155ba221a4525c1e6e3818b8ff42bd3..3d3465a465e7ef4185a96749527e4f88f9d7d0b8 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-do run } */
-
 #include <stdarg.h>
 #include "dfp-dbg.h"
 
index 2a7eedbdbe20dddbf269df6a067e7248c52dfb8f..d05ccc2b30caba5ea24a5e87bf9ee34f0ac47c15 100644 (file)
@@ -1,4 +1,3 @@
-/* { dg-do run } */
 /* { dg-options "-O" } */
 
 /* DFP TR 24732 == WG14 / N1176, N1312 */
index 2c9e8b386ed491894853f51cd3c42f76380e70bb..c556985458444148187bacdc479260d5be97fac7 100644 (file)
@@ -1,4 +1,3 @@
-/* { dg-do run } */
 /* { dg-options "-O" } */
 
 /* DFP TR 24732 == WG14 / N1176, N1312 */
index 963dc3bbfabf5ff83f9ebfdd26d6d116ce238bb1..cb48c491b27e430abb24761c88a525095140b185 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target dfp } */
+/* { dg-require-effective-target dfprt } */
 
 /* Test passing decimal scalars by value.  */
 
index 533e4b276dc7963a9b4de59c222ba4c69e0998f2..5f2a7212c80239b7d35a112bd779e3a03c6651e3 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target dfp } */
+/* { dg-require-effective-target dfprt } */
 
 /* Test passing decimal classes by value.  */
 
index de09992c2246f53595f8be1c64d4b1be566c2242..f095173b23af9d0cdf12f424503ec235ea88df31 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target dfp } */
+/* { dg-require-effective-target dfprt } */
 
 /* Test passing decimal scalars and classes by value.  */
 
index d5a0a47d478b02bebe0d8583fedb299742c9b8ea..379f38a4061d88b195a29b695fea0a94b79a3007 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target dfp } */
+/* { dg-require-effective-target dfprt } */
 
 /* Test passing decimal classes and scalars by value.  */
 
index 9b25a49c72e895ac2ff71a33b1df83bc5da86d31..436d80d05680ab69d401a55c13db57b2a751a8c2 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target dfp } */
+/* { dg-require-effective-target dfprt } */
 
 /* Test passing decimal scalars and typedef'd classes by value.  */
 
index 1b686a21dd02824a9fac9743d4e7c198f4ec53b6..444643cfd05d74ac593dde136933eb57fac11a7d 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target dfp } */
+/* { dg-require-effective-target dfprt } */
 
 /* Test passing typedef'd decimal classes and scalars by value.  */
 
index c663bb01cf3ca856b88b4b42f51779a837af56e8..fa8dbefbe9ed5e1994b58d1cb661e57f4c1b522e 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target dfp } */
+/* { dg-require-effective-target dfprt } */
 
 /* Test function return values for decimal float scalars.  */
 
index afa27f269dfbc28b29164ca69c73cf2dbd68084c..ab7fb5d7fa55b1701beac191501de65952f37e0d 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target dfp } */
+/* { dg-require-effective-target dfprt } */
 
 /* Test function return values for decimal classes.  */
 
index 468f3fc0c347b9adc6e3b9980d258a06834a4fa4..8ee3d31fb24328e3cbf0fae627a68cbed7832023 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target dfp } */
+/* { dg-require-effective-target dfprt } */
 
 /* Test function return values for decimal float scalars and classes.  */
 
index 365d8becd5986a284dd2ec784300b38fe382f51b..a0fe5c72aeb64886d617b7b8e13572a746886d2e 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target dfp } */
+/* { dg-require-effective-target dfprt } */
 
 /* Test function return values for decimal float classes and scalars.  */
 
index 2c334832797f2178364aa810aed09dd1dc892652..bea5d9d591c1cc276e138a356711a239a5f57021 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target dfp } */
+/* { dg-require-effective-target dfprt } */
 
 /* Test function return values for decimal float scalars and typedef'd
    classes.  */
index 94526bdcb8154cd3717e91bf00f7f00e3406cd55..4460475424e20c8ed3d7e53fe10c90c5e2cb793e 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target dfp } */
+/* { dg-require-effective-target dfprt } */
 
 /* Test function return values for typedef'd decimal float classes
    and scalars.  */
index b0da13a4cc575f628d833dd439d5ff19d30157a5..5efd92ccc7886bb037190e9537374bf0ddf5585b 100644 (file)
@@ -1,5 +1,6 @@
 // { dg-do run }
 // { dg-require-effective-target dfp }
+/* { dg-require-effective-target dfprt } */
 
 extern "C" void abort ();
 
index aff0e03d1d91513651db11d00f56d9e3b21588b0..3c65b031b9c91a175591dfc05cd5a3c595032407 100644 (file)
@@ -1,5 +1,6 @@
 // { dg-do run }
 // { dg-require-effective-target dfp }
+/* { dg-require-effective-target dfprt } */
 
 extern "C" void abort ();
 
index 062034105004c22f15729c88222f150804928506..f1fa7c44a31c4867a81dbc67f413d4bd83f27465 100644 (file)
@@ -1,5 +1,6 @@
 // { dg-do run { target aarch64*-*-* } }
 // { dg-require-effective-target dfp }
+/* { dg-require-effective-target dfprt } */
 
 /* Test unwinding of AArch64 register saves.  */
 /* We cannot use #include <decimal/decimal> because it defines
index e653c71c91307664455ef49e25ee6a80d3723c1c..0978703bec2fd92651030ff25291e4a0c82ae7d5 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-require-effective-target dfp } */
+/* { dg-require-effective-target dfprt } */
 
 int main () {
        _Decimal64 d64 = -0.DD;
index f2f6d47b038f2a34df0188da8a4d6a342489f0e8..641d418ba5f1975d314f03bae7c5717c00cd311c 100644 (file)
@@ -1,5 +1,5 @@
 /* Test non-canonical BID significands: _Decimal128.  Bug 91226.  */
-/* { dg-do run { target lp64 } } */
+/* { dg-do run { target { lp64 && dfprt } } } */
 /* { dg-require-effective-target dfp_bid } */
 /* { dg-options "-std=gnu23 -O2" } */
 
index ba4b9cd96946dedef4c5cd524934a80d5eeab0d1..d2eedce86e086a6e8af6593c1e283411d37e2cae 100644 (file)
@@ -1,6 +1,6 @@
 /* Test non-canonical BID significands: _Decimal128, case where
    combination field starts 11.  Bug 91226.  */
-/* { dg-do run { target lp64 } } */
+/* { dg-do run { target { lp64 && dfprt } } } */
 /* { dg-require-effective-target dfp_bid } */
 /* { dg-options "-std=gnu23 -O2" } */
 
index a16ecf8c624a1f08f03056b83ff115f5dcdb761f..fce415fcec5014005b0e8d07e88cfc5048b66a38 100644 (file)
@@ -1,5 +1,5 @@
 /* Test non-canonical BID significands: _Decimal128.  Bug 91226.  */
-/* { dg-do run { target lp64 } } */
+/* { dg-do run { target { lp64 && dfprt } } } */
 /* { dg-require-effective-target dfp_bid } */
 /* { dg-options "-std=gnu23 -O0" } */
 
index 1504e07f714059558e86a9d499201a4ead4986f8..05ef43d97b5da6aacd7cb32d364e9fa5ebf928c5 100644 (file)
@@ -1,6 +1,6 @@
 /* Test non-canonical BID significands: _Decimal128, case where
    combination field starts 11.  Bug 91226.  */
-/* { dg-do run { target lp64 } } */
+/* { dg-do run { target { lp64 && dfprt } } } */
 /* { dg-require-effective-target dfp_bid } */
 /* { dg-options "-std=gnu23 -O0" } */
 
index 593f06b61dd75965d9262cbc23076c5ba96fe5c2..b5f45b374b7381f7c91e9afa2879bbc238d32249 100644 (file)
@@ -1,5 +1,4 @@
 /* Test non-canonical BID significands: _Decimal32.  Bug 91226.  */
-/* { dg-do run } */
 /* { dg-require-effective-target dfp_bid } */
 /* { dg-options "-std=gnu23 -O2" } */
 
index ae2c9268ac331454abcb6f9add7b9e2e0496d215..e2edb57d4a9735418f15e8c6a01060e29afac9e9 100644 (file)
@@ -1,5 +1,4 @@
 /* Test non-canonical BID significands: _Decimal32.  Bug 91226.  */
-/* { dg-do run } */
 /* { dg-require-effective-target dfp_bid } */
 /* { dg-options "-std=gnu23 -O0" } */
 
index bb0cb1a60501f9698c32377bec1846ac54c805c8..d48d83079dc43deaaa52aa33cd6ded76782d1102 100644 (file)
@@ -1,5 +1,4 @@
 /* Test non-canonical BID significands: _Decimal64.  Bug 91226.  */
-/* { dg-do run } */
 /* { dg-require-effective-target dfp_bid } */
 /* { dg-options "-std=gnu23 -O2" } */
 
index 1375ab56e5861c3ce257176890e06dadf72e80be..feda104cc2403122c016ae2b838fb5efdd0f8a7a 100644 (file)
@@ -1,5 +1,4 @@
 /* Test non-canonical BID significands: _Decimal64.  Bug 91226.  */
-/* { dg-do run } */
 /* { dg-require-effective-target dfp_bid } */
 /* { dg-options "-std=gnu23 -O0" } */
 
index 49a32c875463cdfdc43e3daa92b5a1692e310061..759e9e8a74b9584ed1085689d7ca97c2eabcc8e8 100644 (file)
@@ -1,6 +1,5 @@
 /* Test __builtin_nansd* functions.  Test not requiring runtime
    exceptions support.  */
-/* { dg-do run } */
 /* { dg-options "" } */
 
 volatile _Decimal32 d32 = __builtin_nansd32 ("");
index 256a71e68be411eded0212263deaf8e80b4e55e0..17e424d5bf97931c992afdfc15295bcf4b42ff07 100644 (file)
@@ -1,5 +1,4 @@
 /* Test __builtin_tgmath: valid uses, decimal floating-point types.  */
-/* { dg-do run } */
 /* { dg-options "" } */
 
 extern void abort (void);
index d7d04bd12d94c298245e6f49e2c27014c8b56f0f..fbd52ce3e7bf315db1e09831f33e97959a42e903 100644 (file)
@@ -1,5 +1,4 @@
 /* Test DEC_INFINITY defined in <float.h> with DFP support.  */
-/* { dg-do run } */
 /* { dg-options "-std=c23" } */
 
 #include <float.h>
index 19a5fbbba8a0129fbdd789af515ff91c671ab701..926649cbf17f74e2dc59b91ac0ef3a6c143d4d94 100644 (file)
@@ -1,5 +1,4 @@
 /* Test DEC_NAN defined in <float.h> with DFP support.  */
-/* { dg-do run } */
 /* { dg-options "-std=c23" } */
 
 #include <float.h>
index d00c3905a7b2955c8ba1703c3912bc32e97a0e30..d6b93a259ddb4964129f6154b03b72cf801ee6e4 100644 (file)
@@ -2,7 +2,6 @@
    quiet not signaling.  (This would only actually fail for a
    signaling NaN in the hardware DFP case, because the software DFP
    support in libgcc does not integrate with hardware exceptions.)  */
-/* { dg-do run } */
 /* { dg-require-effective-target fenv_exceptions } */
 /* { dg-options "-std=c23" } */
 
index bc1cd4b58a3fd1834bcaf8f0ebb9dc07508552b9..d08d5460c3131afd9c9c69576e174bbd521ecc18 100644 (file)
@@ -1,5 +1,4 @@
 /* Test DEC*_SNAN macros defined in <float.h> with DFP support.  */
-/* { dg-do run } */
 /* { dg-options "-std=c23" } */
 
 #include <float.h>
index 6cbb0fbe6026a432f5b3d2e845c5ac16ebbbdef7..a8798e9002022f4efc41ab226dcca6d061df8523 100644 (file)
@@ -1,5 +1,4 @@
 /* PR tree-optimization/108068 */
-/* { dg-do run } */
 /* { dg-options "-O2" } */
 
 int
index 7fcf834043cb04d8c5e605610bb8cb40cd3d2ad6..c651ec22e4314db74f93813cc67e7df071d59f95 100644 (file)
@@ -1,4 +1,3 @@
-// { dg-do run }
 // { dg-options "-O1" }
 
 static int