unsigned char *p;
unsigned char x;
*(*((unsigned char **)(&p)))++ = x;
as a side effect, p should be incremented. Sometimes, in optimized, it is not.
gcc version 3.3 20021019 (experimental)
Intel 386. RH 7.3. kernel 2.4.18-3
gcc -O2 main.c
This source is in standard testcase format, and will call abort() upon failure.
Changing the code to
*(*((unsigned char **)(&p))) = x;
p += sizeof(x);
State-Changed-Why: There is no self-contained testcase in this report. Do you
still have it, so that we can take a look at it?
State-Changed-Why: Aliasing violation, as discussed in
Reopening to ...
Close as a dup of bug 21920.
*** This bug has been marked as a duplicate of 21920 ***
Removed this email, someone added it by error.