testsuite: Fix pr55569.c excess errors

Message ID d3d6033e-2ae1-dbd0-8839-dd6329149f8c@gmail.com
State Accepted
Headers
Series testsuite: Fix pr55569.c excess errors |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

Jonathan Yong Dec. 20, 2022, 9:22 a.m. UTC
  This fixes the following:

Excess errors:

gcc/testsuite/gcc.c-torture/compile/pr55569.c:13:12: warning: overflow 
in conversion from 'long long unsigned int' to 'long int' changes value 
from '4611686018427387903' to '-1' [-Woverflow]

gcc/testsuite/gcc.c-torture/compile/pr55569.c:13:34: warning: iteration 
2147483647 invokes undefined behavior [-Waggressive-loop-optimizations]

Patch OK?
  

Comments

Andrew Pinski Dec. 20, 2022, 4:55 p.m. UTC | #1
On Tue, Dec 20, 2022 at 1:22 AM Jonathan Yong via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> This fixes the following:

It is not obvious from the email, why this patch is needed but I
figured it was due to LLP64 targets or some other targets where long
is not the same size of the size_t type.
I think this patch is good but I cannot approve it. The commit message
should be improved to make a mention of LLP64 targets and long being a
smaller size than size_t.

Thanks,
Andrew

>
> Excess errors:
>
> gcc/testsuite/gcc.c-torture/compile/pr55569.c:13:12: warning: overflow
> in conversion from 'long long unsigned int' to 'long int' changes value
> from '4611686018427387903' to '-1' [-Woverflow]
>
> gcc/testsuite/gcc.c-torture/compile/pr55569.c:13:34: warning: iteration
> 2147483647 invokes undefined behavior [-Waggressive-loop-optimizations]
>
> Patch OK?
  
Mike Stump Dec. 20, 2022, 6:55 p.m. UTC | #2
On Dec 20, 2022, at 1:22 AM, Jonathan Yong via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
> 
> This fixes the following:
> 
> Excess errors:
> 
> gcc/testsuite/gcc.c-torture/compile/pr55569.c:13:12: warning: overflow in conversion from 'long long unsigned int' to 'long int' changes value from '4611686018427387903' to '-1' [-Woverflow]
> 
> gcc/testsuite/gcc.c-torture/compile/pr55569.c:13:34: warning: iteration 2147483647 invokes undefined behavior [-Waggressive-loop-optimizations]
> 
> Patch OK?

Ok.
  
Jonathan Yong Dec. 20, 2022, 11:32 p.m. UTC | #3
On 12/20/22 16:55, Andrew Pinski wrote:
> On Tue, Dec 20, 2022 at 1:22 AM Jonathan Yong via Gcc-patches
> <gcc-patches@gcc.gnu.org> wrote:
>>
>> This fixes the following:
> 
> It is not obvious from the email, why this patch is needed but I
> figured it was due to LLP64 targets or some other targets where long
> is not the same size of the size_t type.
> I think this patch is good but I cannot approve it. The commit message
> should be improved to make a mention of LLP64 targets and long being a
> smaller size than size_t.
> 
> Thanks,
> Andrew
> 

You are right that this is for LLP64 win32. I will change the subject to 
"testsuite: Fix pr55569.c excess errors on LLP64"

This fixes the following on LLP64 mingw-w64 target:

Excess errors:

gcc/testsuite/gcc.c-torture/compile/pr55569.c:13:12: warning: overflow 
in conversion from 'long long unsigned int' to 'long int' changes value 
from '4611686018427387903' to '-1' [-Woverflow]

gcc/testsuite/gcc.c-torture/compile/pr55569.c:13:34: warning: iteration 
2147483647 invokes undefined behavior [-Waggressive-loop-optimizations]
  

Patch

From 11cc6c38c4b44849110240da3ed553fcc3b35d05 Mon Sep 17 00:00:00 2001
From: Jonathan Yong <10walls@gmail.com>
Date: Tue, 20 Dec 2022 09:16:16 +0000
Subject: [PATCH] testsuite: Fix pr55569.c excess errors

This fixes the following:

Excess errors:
gcc/testsuite/gcc.c-torture/compile/pr55569.c:13:12: warning: overflow in conversion from 'long long unsigned int' to 'long int' changes value from '4611686018427387903' to '-1' [-Woverflow]
gcc/testsuite/gcc.c-torture/compile/pr55569.c:13:34: warning: iteration 2147483647 invokes undefined behavior [-Waggressive-loop-optimizations]

gcc/testsuite/ChangeLog:
	* gcc.c-torture/compile/pr55569.c: fix excess errors.

Signed-off-by: Jonathan Yong <10walls@gmail.com>
---
 gcc/testsuite/gcc.c-torture/compile/pr55569.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/testsuite/gcc.c-torture/compile/pr55569.c b/gcc/testsuite/gcc.c-torture/compile/pr55569.c
index cf274cdbb99..6c2c7c7b6f7 100644
--- a/gcc/testsuite/gcc.c-torture/compile/pr55569.c
+++ b/gcc/testsuite/gcc.c-torture/compile/pr55569.c
@@ -4,7 +4,7 @@  int *bar (void);
 void
 foo (void)
 {
-  long x;
+  __INTPTR_TYPE__ x;
   int *y = bar ();
 
   /* The loop below may be optimized to a call to memset with a size
-- 
2.39.0