This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

c/10426: -O2 messes with ordering of pointer dereferencing


>Number:         10426
>Category:       c
>Synopsis:       -O2 messes with ordering of pointer dereferencing
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Apr 17 11:56:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     jonathan dot sambrook at dsvr dot co dot uk
>Release:        3.2.2 (don't know when from, but after 2.96 which works fine)
>Organization:
>Environment:
Linux 2.4.20
gcc 3.2.2
>Description:
Expected o/p : "abcde", but with -O2 get "bcde":

int main( int argc, char ** argv )
{
  char str[17];
  sprintf( str, "ABCDE" );
  char * p = str;
  for( ;*p ; )
    *p++ = tolower(*p);
  printf( "'%s'\n", str );
  return 0;
}

Yes it's nasty coding; no *I* didn't write it in its wild form :)

[.i file redundant]
>How-To-Repeat:
Works:
  gcc     -o test test.c

Doesn't:
  gcc -O2 -o test test.c
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="gcc_-v_output"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="gcc_-v_output"

Z2NjIC12IC1zYXZlLXRlbXBzIC1PMiAtbyB0ZXN0IHRlc3QuYwpSZWFkaW5nIHNwZWNzIGZyb20g
L3Vzci9saWIvZ2NjLWxpYi9pMzg2LXJlZGhhdC1saW51eC8zLjIuMi9zcGVjcwpDb25maWd1cmVk
IHdpdGg6IC4uL2NvbmZpZ3VyZSAtLXByZWZpeD0vdXNyIC0tbWFuZGlyPS91c3Ivc2hhcmUvbWFu
IC0taW5mb2Rpcj0vdXNyL3NoYXJlL2luZm8gLS1lbmFibGUtc2hhcmVkIC0tZW5hYmxlLXRocmVh
ZHM9cG9zaXggLS1kaXNhYmxlLWNoZWNraW5nIC0td2l0aC1zeXN0ZW0temxpYiAtLWVuYWJsZS1f
X2N4YV9hdGV4aXQgLS1ob3N0PWkzODYtcmVkaGF0LWxpbnV4ClRocmVhZCBtb2RlbDogcG9zaXgK
Z2NjIHZlcnNpb24gMy4yLjIgMjAwMzAyMTcgKFJlZCBIYXQgTGludXggOC4wIDMuMi4yLTIpCiAv
dXNyL2xpYi9nY2MtbGliL2kzODYtcmVkaGF0LWxpbnV4LzMuMi4yL2NwcDAgLWxhbmctYyAtdiAt
RF9fR05VQ19fPTMgLURfX0dOVUNfTUlOT1JfXz0yIC1EX19HTlVDX1BBVENITEVWRUxfXz0yIC1E
X19HWFhfQUJJX1ZFUlNJT049MTAyIC1EX19FTEZfXyAtRHVuaXggLURfX2dudV9saW51eF9fIC1E
bGludXggLURfX0VMRl9fIC1EX191bml4X18gLURfX2dudV9saW51eF9fIC1EX19saW51eF9fIC1E
X191bml4IC1EX19saW51eCAtQXN5c3RlbT1wb3NpeCAtRF9fT1BUSU1JWkVfXyAtRF9fU1REQ19I
T1NURURfXz0xIC1BY3B1PWkzODYgLUFtYWNoaW5lPWkzODYgLURpMzg2IC1EX19pMzg2IC1EX19p
Mzg2X18gLURfX3R1bmVfaTM4Nl9fIHRlc3QuYyB0ZXN0LmkKR05VIENQUCB2ZXJzaW9uIDMuMi4y
IDIwMDMwMjE3IChSZWQgSGF0IExpbnV4IDguMCAzLjIuMi0yKSAoY3BwbGliKSAoaTM4NiBMaW51
eC9FTEYpCmlnbm9yaW5nIG5vbmV4aXN0ZW50IGRpcmVjdG9yeSAiL3Vzci9pMzg2LXJlZGhhdC1s
aW51eC9pbmNsdWRlIgojaW5jbHVkZSAiLi4uIiBzZWFyY2ggc3RhcnRzIGhlcmU6CiNpbmNsdWRl
IDwuLi4+IHNlYXJjaCBzdGFydHMgaGVyZToKIC91c3IvbG9jYWwvaW5jbHVkZQogL3Vzci9saWIv
Z2NjLWxpYi9pMzg2LXJlZGhhdC1saW51eC8zLjIuMi9pbmNsdWRlCiAvdXNyL2luY2x1ZGUKRW5k
IG9mIHNlYXJjaCBsaXN0LgogL3Vzci9saWIvZ2NjLWxpYi9pMzg2LXJlZGhhdC1saW51eC8zLjIu
Mi9jYzEgLWZwcmVwcm9jZXNzZWQgdGVzdC5pIC1xdWlldCAtZHVtcGJhc2UgdGVzdC5jIC1PMiAt
dmVyc2lvbiAtbyB0ZXN0LnMKR05VIENQUCB2ZXJzaW9uIDMuMi4yIDIwMDMwMjE3IChSZWQgSGF0
IExpbnV4IDguMCAzLjIuMi0yKSAoY3BwbGliKSAoaTM4NiBMaW51eC9FTEYpCkdOVSBDIHZlcnNp
b24gMy4yLjIgMjAwMzAyMTcgKFJlZCBIYXQgTGludXggOC4wIDMuMi4yLTIpIChpMzg2LXJlZGhh
dC1saW51eCkKICAgICAgICBjb21waWxlZCBieSBHTlUgQyB2ZXJzaW9uIDMuMi4yIDIwMDMwMjE3
IChSZWQgSGF0IExpbnV4IDguMCAzLjIuMi0yKS4KIGFzIC1WIC1ReSAtbyB0ZXN0Lm8gdGVzdC5z
CkdOVSBhc3NlbWJsZXIgdmVyc2lvbiAyLjEzLjkwLjAuMTggKGk2ODYtcmVkaGF0LWxpbnV4KSB1
c2luZyBCRkQgdmVyc2lvbiAyLjEzLjkwLjAuMTggMjAwMzAyMDYKIC91c3IvbGliL2djYy1saWIv
aTM4Ni1yZWRoYXQtbGludXgvMy4yLjIvY29sbGVjdDIgLS1laC1mcmFtZS1oZHIgLW0gZWxmX2kz
ODYgLWR5bmFtaWMtbGlua2VyIC9saWIvbGQtbGludXguc28uMiAtbyB0ZXN0IC91c3IvbGliL2dj
Yy1saWIvaTM4Ni1yZWRoYXQtbGludXgvMy4yLjIvLi4vLi4vLi4vY3J0MS5vIC91c3IvbGliL2dj
Yy1saWIvaTM4Ni1yZWRoYXQtbGludXgvMy4yLjIvLi4vLi4vLi4vY3J0aS5vIC91c3IvbGliL2dj
Yy1saWIvaTM4Ni1yZWRoYXQtbGludXgvMy4yLjIvY3J0YmVnaW4ubyAtTC91c3IvbGliL2djYy1s
aWIvaTM4Ni1yZWRoYXQtbGludXgvMy4yLjIgLUwvdXNyL2xpYi9nY2MtbGliL2kzODYtcmVkaGF0
LWxpbnV4LzMuMi4yLy4uLy4uLy4uIHRlc3QubyAtbGdjYyAtbGdjY19laCAtbGMgLWxnY2MgLWxn
Y2NfZWggL3Vzci9saWIvZ2NjLWxpYi9pMzg2LXJlZGhhdC1saW51eC8zLjIuMi9jcnRlbmQubyAv
dXNyL2xpYi9nY2MtbGliL2kzODYtcmVkaGF0LWxpbnV4LzMuMi4yLy4uLy4uLy4uL2NydG4ubwo=


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]