From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas.Krakowczyk@fujitsu-siemens.com To: gcc-gnats@gcc.gnu.org Cc: Erwin.Unruh@fujitsu-siemens.com, Jochen.Canisius@fujitsu-siemens.com Subject: c++/3257: throw / try and optimization wrong with option '-O2' Date: Tue, 19 Jun 2001 06:36:00 -0000 Message-id: <20010619133342.9643.qmail@sourceware.cygnus.com> X-SW-Source: 2001-06/msg00781.html List-Id: >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==