This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
optimization/3438: 'g++ -O2' fails, throw/catch with objects of type 'char'
- To: gcc-gnats at gcc dot gnu dot org
- Subject: optimization/3438: 'g++ -O2' fails, throw/catch with objects of type 'char'
- From: Andreas dot Krakowczyk at fujitsu-siemens dot com
- Date: 27 Jun 2001 13:35:30 -0000
- Cc: Joachim dot Canisius at fujitsu-siemens dot com, Erwin dot Unruh at fujitsu-siemens dot com
- Reply-To: Andreas dot Krakowczyk at fujitsu-siemens dot com
>Number: 3438
>Category: optimization
>Synopsis: 'g++ -O2' fails, throw/catch with objects of type 'char'
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Jun 27 06:36:02 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Andreas Krakowczyk
>Release: gcc-3.0
>Organization:
>Environment:
sparc-sun-solaris2.8
>Description:
Test fails if compiled with option '-O2' and objects of type
'char', 'unsigned char', 'short', 'unsigned short'.
It passes with lower opimization and/or objects of type 'int'.
>How-To-Repeat:
g++ -O2 bug9.c && ./a.out
or
for i in int short ushort char uchar; \
do g++ -O2 -DOBJTYPE="$i" bug9.c && ./a.out; done
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/x-unknown-content-type-c_auto_file; name="bug9.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="bug9.c"
I2luY2x1ZGUgPHN0ZGlvLmg+Cgpib29sICBvazsKdm9pZCBkb190aHJvdyAodm9pZCk7CmJvb2wg
dGVzdCAgKGludCB6ZXJvID0gMCwgaW50IG9uZSA9IDEpOwp0eXBlZGVmICAgdW5zaWduZWQgc2hv
cnQgICAgICAgdXNob3J0OyAKdHlwZWRlZiAgIHVuc2lnbmVkIGNoYXIgICAgICAgIHVjaGFyOwoj
aWZuZGVmIE9CSlRZUEUKI2RlZmluZSBPQkpUWVBFIHNob3J0CQkvLyAnaW50JyB3b3JrcywgYnV0
ICdzaG9ydCcsICd1c2hvcnQnLCAnY2hhcicsIGFuZCAndWNoYXInIGZhaWxzCiNlbmRpZgojZGVm
aW5lIHNzKHgpICN4CiNkZWZpbmUgcyh4KSBzcyh4KQoKaW50IG1haW4gKGludCBhcmdjLCBjaGFy
ICphcmd2IFtdKQp7CiAgICBpZiAoISB0ZXN0KCkgICkgeyBwcmludGYgKCIlLTI0cyAlcywgJXNc
biIsIGFyZ3ZbMF0sICJGQUlMRUQiLCBzKE9CSlRZUEUpKTsgcmV0dXJuIDE7IH0KICAgIGVsc2Ug
ICAgICAgICAgICB7IHByaW50ZiAoIiUtMjRzICVzLCAlc1xuIiwgYXJndlswXSwgInBhc3NlZCIs
IHMoT0JKVFlQRSkpOyByZXR1cm4gMDsgfQp9CgpjbGFzcyBDOAp7CnB1YmxpYzoKICAgT0JKVFlQ
RSBvYmo7CiAgIEM4IChpbnQgemVybywgaW50IG9uZSkgeyBvYmogPSBvbmUgKyB6ZXJvOyB9CiAg
IHZvaWQgZiAoKSAgICAgICAgICAgICAgeyBvYmorKzsgfQogIH5DOCAoKSAgICAgICAgICAgICAg
ICAgIHsgb2sgID0gKG9iaiA9PSAxKTsgfQp9OwoKYm9vbCB0ZXN0IChpbnQgemVybywgaW50IG9u
ZSkKewogICBvayA9IDA7CiAgIHRyeQogICB7CiAgICAgIEM4IGM4ICh6ZXJvLCBvbmUpOwogICAg
ICBkb190aHJvdyAoKTsKICAgICAgYzguZiAoKTsKICAgfQoKICAgY2F0Y2ggKC4uLikgeyB9CiAg
IHJldHVybiAob2spOwp9Cgp2b2lkIGRvX3Rocm93ICgpIHsgdGhyb3cgImV4Y2VwdGlvbiI7IH0K