[Bug middle-end/38212] New: restrict implementation causes wrong-code
rguenth at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Fri Nov 21 13:29:00 GMT 2008
The following is miscompiled by RTL cse at -O2
int __attribute__((noinline))
foo (int *__restrict p, int i)
{
int *__restrict q;
int *__restrict r;
int v, w;
q = p + 1;
r = q - i;
v = *r;
*p = 1;
w = *r;
return v + w;
}
extern void abort (void);
int main()
{
int i = 0;
if (foo (&i, 1) != 1)
abort ();
return 0;
}
--
Summary: restrict implementation causes wrong-code
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Keywords: wrong-code, alias
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38212
More information about the Gcc-bugs
mailing list