This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Testcase for strict-aliasing wanted
- From: Osku Salerma <osku at iki dot fi>
- To: gcc at gcc dot gnu dot org
- Date: Fri, 18 Jan 2002 21:39:38 +0200 (EET)
- Subject: Testcase for strict-aliasing wanted
Does anybody have a simple testcase available that breaks with strict
aliasing enabled? I tried to construct my own, but I can't get either
2.95.2 or the latest CVS version to break intentionally. Either I'm
misunderstanding some of the aliasing rules or gcc isn't optimizing as
aggressively in this case as would be needed for the aliasing issues
to surface.
For reference, here's my (not-working) effort:
#include <stdio.h>
void f(char* p1, int* p2)
{
char c1,c2;
c1 = *p1;
*p2 = 0;
c2 = *p1;
printf("(%d,%d)\n", c1,c2);
}
int main(void)
{
char a[4];
a[0] = 1;
f(a, (int*)a);
return 0;
}
--
Osku Salerma - osku@iki.fi - http://www.iki.fi/osku/
Information wants to be free.