optimization/574: exception handling with option '-O2', unexpected results
Andreas.Krakowczyk@fujitsu-siemens.com
Andreas.Krakowczyk@fujitsu-siemens.com
Thu Sep 28 03:26:00 GMT 2000
>Number: 574
>Category: optimization
>Synopsis: exception handling with option '-O2', unexpected results
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Sep 28 03:26:01 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator: Andreas.Krakowczyk@fujitsu-siemens.com
>Release: gcc-2.95.2
>Organization:
>Environment:
mips-sni-sysv4
i686-linux-gnu
>Description:
The program runs o.k. with no optimization and up to '-O',
but fails with '-O2' and '-O3'
>How-To-Repeat:
g++ -O2 test_000927_1.c && ./a.out
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/x-unknown-content-type-C_auto_file; name="test_000927_1.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="test_000927_1.c"
Ci8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAqLwovKiAgICBDT1BZUklHSFQgKEMpIFNJRU1FTlMg
TklYRE9SRiBJTkZPUk1BVElPTlNTWVNURU1FIEFHIDE5OTYgICAgICovCi8qICAgIENPUFlSSUdI
VCAoQykgRnVqaXRzdSBTaWVtZW5zIENvbXB1dGVycyBHbWJIICAgICAgICAgMjAwMCAgICAgKi8K
LyogICAgICAgICAgICAgICAgICBBTEwgUklHSFRTIFJFU0VSVkVEICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAqLwovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLyogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwov
KiAgICBGSUxFOiAgICAgICAgIHRlc3RfY2FzZTQzLmMsIHRlc3RfY2FzZTQ1LmMgICAgICAgICAg
ICAgICAgICAgICovCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogICAgQVVUSE9SOiAgICAgICBEci5TdGFkZWwg
LyBTYWxqZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwovKiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8q
ICAgIENSRUFURUQ6ICAgICAgMTk5Ni0wNS0xMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAqLwovKiAgICBNT0RJRklFRDogICAgIDIwMDAtMDktMjYs
IEEuS3Jha293Y3p5ayBmb3IgR05VIGdjYyBidWcgcmVwb3J0ICovIAovKiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8q
ICAgIENPTlRFTlRTOiAgICAgcHJvZ3JhbSBmb3IgdGVzdGluZyBpbnRlcmFjdGlvbiBiZXR3ZWVu
ICAgICAgICAgKi8KLyogICAgICAgICAgICAgICAgICBleGNlcHRpb24taGFuZGxpbmcgYW5kIG9w
dGltaXphdGlvbiAgICAgICAgICAgICAqLwovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qICAgIHRlc3QgNDMgOiAg
ICAgbG9vcCB0cmFuc2Zvcm1hdGlvbiAoc3RyZW5ndGggcmVkdWN0aW9uKSAgICAgICAgKi8KLyog
ICAgICAgICAgICAgICAgICB0aHJvdyAtLS0+IGNhdGNoICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAqLwovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICovCi8qICAgIHRlc3QgNDUgOiAgICAgbG9vcCB0cmFuc2Zv
cm1hdGlvbiAoZXFudG90dCBvcHRpbWl6YXRpb24pICAgICAgKi8KLyogICAgICAgICAgICAgICAg
ICB0aHJvdyAtLS0+IGNhdGNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwovKiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICovCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKi8KCmV4dGVybiAiQyIgeyBleHRlcm4gaW50ICAgICAgcHJp
bnRmKGNvbnN0IGNoYXIgKiwgLi4uKTsgfQoKYm9vbCAgb2s7CmludCAgIGNvdW50OwppbnQgICBl
OyAgICAgICAgICAgICAgICAgICAgLy8gZXJyb3Igc3RhdHVzCmludCAgIGEgWzEwMF07CnNob3J0
IHNhIFsxMDBdLCBzYiBbMTAwXTsKCnZvaWQgY291bnRfdGhyb3cgKHZvaWQpOwoKYm9vbCB0ZXN0
X2Nhc2U0MyAoaW50IHplcm8gPSAwLCBpbnQgb25lID0gMSk7CmJvb2wgdGVzdF9jYXNlNDUgKGlu
dCB6ZXJvID0gMCwgaW50IG9uZSA9IDEpOwoKaW50IG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2
IFtdKQp7CiAgIGludCBmYWlsID0gMDsKICAKLy8gTG9vcCBUcmFuc2Zvcm1hdGlvbnMKICAKICAg
aWYgKCEgdGVzdF9jYXNlNDMgKCkpICAgeyBwcmludGYgKCJjYXNlNDMgZmFpbGVkXG4iKTsgZmFp
bCArPSAxOyB9CiAgIGlmICghIHRlc3RfY2FzZTQ1ICgpKSAgIHsgcHJpbnRmICgiY2FzZTQ1IGZh
aWxlZFxuIik7IGZhaWwgKz0gMTsgfQogIAogICBpZiAoIWZhaWwpCglwcmludGYgKCIlLTI0cyBw
YXNzZWRcbiIsIGFyZ3ZbMF0pOwogICAgZWxzZQoJcHJpbnRmICgiJS0yNHMgZmFpbGVkLCAlZFxu
IiwgYXJndlswXSwgZmFpbCk7CiAgIHJldHVybiAwOwp9Cgpib29sIHRlc3RfY2FzZTQzIChpbnQg
emVybywgaW50IG9uZSkKewogICBpbnQgaTsKCiAgIG9rICAgID0gMDsKICAgY291bnQgPSAwOwoK
ICAgZm9yIChpPTA7IGk8MTAwOyBpKyspCiAgICAgIGEgW2ldID0gemVybzsKCiAgIHRyeQogICB7
CiAgICAgIGZvciAoaT0wOyBpPDEwMDsgaSsrKQogICAgICB7CiAgICAgICAgIGEgW2ldID0gb25l
ICogaTsKICAgICAgICAgY291bnRfdGhyb3cgKCk7CiAgICAgIH0KICAgfQoKICAgY2F0Y2ggKC4u
LikKICAgewogICAgICBvayA9ICgoaSA9PSAyKSAmJiAoYVswXSA9PSAwKSAmJiAoYVsxXSA9PSAx
KSAmJiAoYVsyXSA9PSAyKSk7CiAgICAgIGZvciAoaT0zOyBpPDEwMDsgaSsrKQogICAgICAgICBp
ZiAoYVtpXSAhPSAwKQogICAgICAgICAgICBvayA9IDA7CiAgIH0KCiAgIHJldHVybiAob2spOwp9
Cgpib29sIHRlc3RfY2FzZTQ1IChpbnQgemVybywgaW50IG9uZSkKewogICBpbnQgYWFhLCBiYmIs
IGk7CgogICBvayAgICA9IDA7CiAgIGNvdW50ID0gMDsKCiAgIGZvciAoaT0wOyBpPDEwMDsgaSsr
KQogICAgICBzYSBbaV0gPSBzYiBbaV0gPSB6ZXJvOwogICBzYSBbN10gPSBzYSBbMjRdID0gc2Eg
WzU3XSA9IG9uZTsKCiAgIHRyeQogICB7CiAgICAgIGZvciAoaT0wOyBpPDEwMDsgaSsrKQogICAg
ICB7CiAgICAgICAgIGFhYSA9IHNhIFtpXTsKICAgICAgICAgYmJiID0gc2IgW2ldOwogICAgICAg
ICBpZiAoYWFhID09IGJiYikKICAgICAgICAgICAgZ290byBtOwogICAgICAgICBpZiAoYWFhID09
IGJiYiArIG9uZSkKICAgICAgICAgICAgY291bnRfdGhyb3cgKCk7CiAgICAgICAgIG06IDsKICAg
ICAgfQogICB9CgogICBjYXRjaCAoLi4uKQogICB7CiAgICAgIG9rID0gKGkgPT0gNTcpOwogICB9
CgogICByZXR1cm4gKG9rKTsKfQoKdm9pZCBjb3VudF90aHJvdyAoKQp7CiAgIGlmICgrK2NvdW50
ID09IDMpCiAgIHsKICAgICAgdGhyb3cgImV4Y2VwdGlvbiI7CiAgICAgIGUgPSAxOyAgICAgICAg
ICAgICAgICAgICAgICAvLyBlcnJvciBzdGF0dXMgc2V0IAogICB9Cn0KCg==
More information about the Gcc-bugs
mailing list