This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c++/3257: throw / try and optimization wrong with option '-O2'
- To: gcc-gnats at gcc dot gnu dot org
- Subject: c++/3257: throw / try and optimization wrong with option '-O2'
- From: Andreas dot Krakowczyk at fujitsu-siemens dot com
- Date: 19 Jun 2001 13:33:42 -0000
- Cc: Erwin dot Unruh at fujitsu-siemens dot com, Jochen dot Canisius at fujitsu-siemens dot com
- Reply-To: Andreas dot Krakowczyk at fujitsu-siemens dot com
>Number: 3257
>Category: c++
>Synopsis: throw / try and optimization wrong with option '-O2'
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Jun 19 06:36:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Andreas Krakowczyk
>Release: gcc-3.0
>Organization:
>Environment:
sparc-sun-solaris2.8
>Description:
Test program fails with option '-O2' (self-checking),
runs o.k. with '-O' or no optimization.
>How-To-Repeat:
g++ -O2 test_45.c && ./a.out
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/x-unknown-content-type-c_auto_file; name="test_45.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="test_45.c"
I2luY2x1ZGUgPHN0ZGlvLmg+Cgpib29sIG9rOwppbnQgY291bnQ7CmludCBlOwpzaG9ydCBzYSBb
MTAwXSwgc2IgWzEwMF07Cgp2b2lkIGNvdW50X3Rocm93ICh2b2lkKTsKYm9vbCB0ZXN0X2Nhc2U0
NSAoaW50IHplcm8gPSAwLCBpbnQgb25lID0gMSk7CgppbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIg
KmFyZ3YgW10pCnsKICAgaWYgKCEgdGVzdF9jYXNlNDUgKCkpIHsgcHJpbnRmICgiY2FzZSIgIjQ1
IiAiIGZhaWxlZFxuIik7IHJldHVybiAxOyB9CiAgIGVsc2UgICAgICAgICAgICAgICAgICB7IHBy
aW50ZiAoImNhc2UiICI0NSIgIiBwYXNzZWRcbiIpOyByZXR1cm4gMDsgfQogICByZXR1cm4gMjsK
fQoKYm9vbCB0ZXN0X2Nhc2U0NSAoaW50IHplcm8sIGludCBvbmUpCnsKICAgaW50IGFhYSwgYmJi
LCBpOwoKICAgb2sgPSAwOwogICBjb3VudCA9IDA7CgogICBmb3IgKGk9MDsgaTwxMDA7IGkrKykK
ICAgICAgc2EgW2ldID0gc2IgW2ldID0gemVybzsKICAgc2EgWzddID0gc2EgWzI0XSA9IHNhIFs1
N10gPSBvbmU7CgogICB0cnkKICAgewogICAgICBmb3IgKGk9MDsgaTwxMDA7IGkrKykKICAgICAg
ewogICAgICAgICBhYWEgPSBzYSBbaV07CiAgICAgICAgIGJiYiA9IHNiIFtpXTsKICAgICAgICAg
aWYgKGFhYSA9PSBiYmIpCiAgICAgICAgICAgIGdvdG8gbTsKICAgICAgICAgaWYgKGFhYSA9PSBi
YmIgKyBvbmUpCiAgICAgICAgICAgIGNvdW50X3Rocm93ICgpOwogICAgICAgICBtOiA7CiAgICAg
IH0KICAgfQoKICAgY2F0Y2ggKC4uLikgeyBvayA9IChpID09IDU3KTsgfQogICByZXR1cm4gKG9r
KTsKfQoKdm9pZCBjb3VudF90aHJvdyAoKSB7IGlmICgrK2NvdW50ID09IDMpIHsgdGhyb3cgImV4
Y2VwdGlvbiI7IGUgPSAxOyB9IH0KCg==