https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32628
--- Comment #12 from Marc Glisse ---
Nowadays, we consider that we can only access half of the address space, and
you can only add up to PTRDIFF_MAX to a pointer, so in some sense this does
overflow. I am thinking of removing the testcase, which
--- Comment #11 from ebotcazou at gcc dot gnu dot org 2010-04-13 15:48
---
Subject: Bug 32628
Author: ebotcazou
Date: Tue Apr 13 15:47:38 2010
New Revision: 158274
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=158274
Log:
PR middle-end/32628
* c-common.c
--- Comment #9 from rguenth at gcc dot gnu dot org 2008-01-16 21:52 ---
Subject: Bug 32628
Author: rguenth
Date: Wed Jan 16 21:51:57 2008
New Revision: 131579
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=131579
Log:
2008-01-16 Richard Guenther [EMAIL PROTECTED]
PR
--- Comment #10 from rguenth at gcc dot gnu dot org 2008-01-16 21:54
---
Fixed.
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #8 from rguenth at gcc dot gnu dot org 2008-01-15 14:44 ---
Reduced testcase:
int f(char *device)
{
return device == ((char *)0 + ~0UL);
}
for building the POINTER_PLUS_EXPR we convert the unsigned offset to
sizetype which causes the double-int (-1, 0) to sign-extend to
--
mmitchel at gcc dot gnu dot org changed:
What|Removed |Added
Priority|P3 |P2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32628
--- Comment #7 from pinskia at gcc dot gnu dot org 2007-07-18 15:22 ---
So don't set overflow for conversion.
When I tested this patch, it caused Ada not to bootstrap so I have to look more
into it.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32628
--- Comment #2 from pinskia at gcc dot gnu dot org 2007-07-05 19:02 ---
This patch works for me:
Index: fold-const.c
===
--- fold-const.c(revision 126338)
+++ fold-const.c(working copy)
@@ -282,14 +282,8 @@
--- Comment #3 from ebotcazou at gcc dot gnu dot org 2007-07-05 21:57
---
This patch works for me:
Well, that sizetypes are sign-extended is assumed in other places too.
--
ebotcazou at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #4 from pinskia at gcc dot gnu dot org 2007-07-05 22:57 ---
Well, that sizetypes are sign-extended is assumed in other places too.
Yes this is known but this place is special. Though I have not figured out
why we are setting overflow in general here anyways.
--
--- Comment #5 from pinskia at gcc dot gnu dot org 2007-07-06 00:34 ---
Some more information, I don't think conversion should set the overflow bit any
more.
Roger started doing some of this work with:
http://gcc.gnu.org/ml/gcc-patches/2006-11/msg00812.html
But I don't know what
--- Comment #6 from pinskia at gcc dot gnu dot org 2007-07-06 04:12 ---
This patch is most likely better:
Index: fold-const.c
===
--- fold-const.c(revision 126396)
+++ fold-const.c(working copy)
@@ -2063,9
--- Comment #1 from pinskia at gcc dot gnu dot org 2007-07-04 23:34 ---
A simple example is:
void *f(void)
{
char *a = ((char*)0)+(unsigned long long)(-1);
return a;
}
This is caused by pointer_plus so mine.
--
pinskia at gcc dot gnu dot org changed:
What
13 matches
Mail list logo