This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/21173] [4.0 regression] miscompiled pointer subtraction broke Linux kernel
- From: "belyshev at depni dot sinp dot msu dot ru" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 23 Apr 2005 12:30:28 -0000
- Subject: [Bug tree-optimization/21173] [4.0 regression] miscompiled pointer subtraction broke Linux kernel
- References: <20050423092333.21173.mikpe@csd.uu.se>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From belyshev at depni dot sinp dot msu dot ru 2005-04-23 12:30 -------
// Confirmed on amd64 too, smaller testcase (compile with -O2):
void abort (void);
char q;
void *a[2];
void foo (char *p)
{
int i;
for (i = 0; i < 2; i++)
a[i] += p - &q;
}
int main (void)
{
int i;
foo (&q);
for (i = 0; i < 2; i ++)
if (a[i])
abort ();
return 0;
}
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Component|c |tree-optimization
Ever Confirmed| |1
GCC build triplet|i686-pc-linux-gnu |
GCC host triplet|i686-pc-linux-gnu |
GCC target triplet|i686-pc-linux-gnu |
Keywords| |wrong-code
Known to fail| |4.0.0
Known to work| |3.4.4
Priority|P2 |P1
Last reconfirmed|0000-00-00 00:00:00 |2005-04-23 12:30:26
date| |
Summary|miscompiled pointer |[4.0 regression] miscompiled
|subtraction broke Linux |pointer subtraction broke
|kernel |Linux kernel
Target Milestone|--- |4.0.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21173