https://gcc.gnu.org/g:875a1df8130342baf985650c5de1914cf37eb774

commit r15-4029-g875a1df8130342baf985650c5de1914cf37eb774
Author: Georg-Johann Lay <a...@gjlay.de>
Date:   Wed Oct 2 16:23:32 2024 +0200

    testsuite/52641 - Fix gcc.dg/signbit-6.c for int != 32-bit targets.
    
            PR testsuite/52641
    gcc/testsuite/
            * gcc.dg/signbit-6.c (main): Initialize a[0] and b[0]
            with INT32_MIN (instead of with INT_MIN).

Diff:
---
 gcc/testsuite/gcc.dg/signbit-6.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gcc/testsuite/gcc.dg/signbit-6.c b/gcc/testsuite/gcc.dg/signbit-6.c
index da186624cfa0..3a522893222d 100644
--- a/gcc/testsuite/gcc.dg/signbit-6.c
+++ b/gcc/testsuite/gcc.dg/signbit-6.c
@@ -38,8 +38,10 @@ int main ()
   TYPE a[N];
   TYPE b[N];
 
-  a[0] = INT_MIN;
-  b[0] = INT_MIN;
+  /* This will invoke UB due to -INT32_MIN.  The test is supposed to pass
+     because GCC is supposed to handle this UB case in a predictable way.  */
+  a[0] = INT32_MIN;
+  b[0] = INT32_MIN;
 
   for (int i = 1; i < N; ++i)
     {

Reply via email to