https://gcc.gnu.org/g:7fb8339ca3239cc74983b82e4ba89c95b7489209

commit r16-4283-g7fb8339ca3239cc74983b82e4ba89c95b7489209
Author: Jakub Jelinek <[email protected]>
Date:   Wed Oct 8 09:49:25 2025 +0200

    testsuite: Fix up pr121987.c testcase for ilp32 [PR121206]
    
    The test FAILs on ilp32 targets with
    pr121987.c:5:21: warning: unsigned conversion from 'long long int' to 'long 
unsigned int' changes value from '10000000000' to '1410065408' [-Woverflow]
    excess error.  Fixed by using unsigned long long instead of unsigned and
    using a suffix on the constant.
    Tested on x86_64-linux with -m32/-m64, additionally tested with older cc1
    where it ICEd in both cases in upper_bound.
    
    2025-10-08  Jakub Jelinek  <[email protected]>
    
            PR tree-optimization/121206
            * gcc.dg/pr121987.c (main): Use unsigned long long type for e 
instead
            of unsigned long and use ULL suffix on the initializer.

Diff:
---
 gcc/testsuite/gcc.dg/pr121987.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/testsuite/gcc.dg/pr121987.c b/gcc/testsuite/gcc.dg/pr121987.c
index 04845a4d8caa..80bedcc67aa2 100644
--- a/gcc/testsuite/gcc.dg/pr121987.c
+++ b/gcc/testsuite/gcc.dg/pr121987.c
@@ -2,7 +2,7 @@
 /* { dg-options "-O3" } */
 int a, b, c, d;
 int main() {
-  unsigned long e = 10000000000;
+  unsigned long long e = 10000000000ULL;
   unsigned f;
   int g;
   while (a) {

Reply via email to