This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c++/585: Optimizer bug on SUN sparc architectures (involves exceptions)
- To: gcc-gnats at gcc dot gnu dot org
- Subject: c++/585: Optimizer bug on SUN sparc architectures (involves exceptions)
- From: bach at mwgdna dot com
- Date: 29 Sep 2000 22:42:20 -0000
- Reply-To: bach at mwgdna dot com
- Resent-Cc: gcc-prs at gcc dot gnu dot org, gcc-bugs at gcc dot gnu dot org, jason at gcc dot gnu dot org
- Resent-Reply-To: gcc-gnats@gcc.gnu.org, bach@mwgdna.com
>Number: 585
>Category: c++
>Synopsis: Optimizer bug on SUN sparc architectures (involves exceptions)
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Sep 29 15:46:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator: Bastien Chevreux
>Release: gcc 2.95.2, gcc 2.95 and egcs 1.1.1
>Organization:
>Environment:
SunOS 5.7 Generic_106541-08 sun4u sparc SUNW,Ultra-Enterprise-10000
and
SunOS 5.5.1 Generic_103640-29 sun4m sparc SUNW,SPARCstation-20
>Description:
File is a minimal test case. On SUN sparc machines,
compiling the enclosed code with -O leads to a wrong
runtime behavior. Exceptions in a for-loop lead to
skipped loops.
Bug does not appear on crosschecked x86 (Solaris and Linux)
machines.
>How-To-Repeat:
On a SUN sparc architecture: compile the enclosed code
with -O: g++ -O cerror.C
>Fix:
Don't optimize
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="cerror.C"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="cerror.C"
LyoKICBnKysgYnVnIHJlcG9ydCAgICAgICAgICAgICAgICAgKEJhc3RpZW4gQ2hldnJldXggLS0g
YmFjaEBtd2dkbmEuY29tKQoKICBUeXBlOiBwcm9iYWJseSBvcHRpbWl6ZXIgYnVnIG9uIFNVTiBz
cGFyYyBhcmNoaXRlY3R1cmUKCiAgU3lzdGVtcyB3aGVyZSBidWcgYXBwZWFyZWQgYXBwZWFyZWQg
Zmlyc3Q6IFNVTiBTb2xhcmlzIDIuNwogIEdDQyB2ZXJzaW9uOiBnY2MgMi45NS4yCiAgPj4+IFJl
YWRpbmcgc3BlY3MgZnJvbSAvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlz
Mi43LzIuOTUuMi9zcGVjcyA6IGdjYyB2ZXJzaW9uIDIuOTUuMiAxOTk5MTAyNCAocmVsZWFzZSkK
ICAKICBCdWcgd2FzIHJlcHJvZHVjaWJsZSBvbjogU1VOIFNvbGFyaXMgMi41MQogIEdDQyB2ZXJz
aW9uOiBlZ2NzIDEuMS4xCiAgPj4+IFJlYWRpbmcgc3BlY3MgZnJvbSAvaG9tZS9jaGV2cmV1eC9w
dWIvU3VuT1MvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjUuMS9lZ2NzLTIu
OTEuNjAvc3BlY3MgOiBnY2MgdmVyc2lvbiBlZ2NzLTIuOTEuNjAgMTk5ODEyMDEgKGVnY3MtMS4x
LjEgcmVsZWFzZSkKCgogIEJ1ZyBkaWQgbm90IGFwcGVhciBvbiBjcm9zc2NoZWNrZWQgbWFjaGlu
ZTogU29sYXJpcyAyLjcgZm9yIHg4NgogIEdDQyB2ZXJzaW9uOiAyLjcKICA+Pj4gUmVhZGluZyBz
cGVjcyBmcm9tIC91c3IvbG9jYWwvbGliL2djYy1saWIvaTM4Ni1wYy1zb2xhcmlzMi43LzIuOTUv
c3BlY3MgOiBnY2MgdmVyc2lvbiAyLjk1IDE5OTkwNzI4IChyZWxlYXNlKQoKICBCdWcgZGlkIG5v
dCBhcHBlYXIgb24gY3Jvc3NjaGVja2VkIG1hY2hpbmU6IExpbnV4IDIuMiBmb3IgeDg2CiAgR0ND
IHZlcnNpb246IDIuOTUuMgogID4+PiBSZWFkaW5nIHNwZWNzIGZyb20gL3Vzci9saWIvZ2NjLWxp
Yi9pNDg2LXN1c2UtbGludXgvMi45NS4yL3NwZWNzIDogZ2NjIHZlcnNpb24gMi45NS4yIDE5OTkx
MDI0IChyZWxlYXNlKQoKICAKICBIb3cgdG8gcmVwcm9kdWNlIHRoZSBidWcgKG9uIHRoZSBjb25j
ZXJuZWQgc3lzdGVtcyk6CgogIFNhdmUgdGhpcyBmaWxlIGFzOiBjZXJyb3IuQwoKICBDb21waWxl
IHRoaXMgY29kZSB3aXRoOiBnKysgLU8gY2Vycm9yLkMKICBTdGFydCB3aXRoOiAuL2Eub3V0Cgog
IFRoZSAod3JvbmcpIG91dHB1dCBpczoKIyMjIyMjIyMjIyMjIDAKIyMjIyMjIyMjIyMjIDIKIyMj
IyMjIyMjIyMjIDQKCiAgVGhlIGNvcnJlY3QgYmVoYXZpb3VyIGNhbiBiZSBzZWVuIGJ5IGNvbXBp
bGluZyB3aXRob3V0IC1POiBnKysgY2Vycm9yLkMKICBTdGFydCB3aXRoOiAuL2Eub3V0CgogIFRo
ZSAoY29ycmVjdCkgb3V0cHV0IGlzOgojIyMjIyMjIyMjIyMgMAojIyMjIyMjIyMjIyMgMQojIyMj
IyMjIyMjIyMgMgojIyMjIyMjIyMjIyMgMwojIyMjIyMjIyMjIyMgNAoKICBXaGVuIHVuY29tbWVu
dGluZyB0aGUgY291dCBpbiBsaW5lIDY3LCB0aGUgYnVnIGRpc2FwcGVhcnMgZXZlbiB3aGVuIGNv
bXBpbGVkCiAgd2l0aCAtTwoqLwoKI2luY2x1ZGUgPGlvc3RyZWFtLmg+CgpjbGFzcyB0ZXJyb3J7
Cn07Cgp2b2lkIHRlc3R0aHJvdygpCnsKICB0ZXJyb3IgdDsKICB0aHJvdyh0KTsKfQoKaW50IG1h
aW4odm9pZCkKewogIGZvcihpbnQgaT0wOyBpIDwgNTsgaSsrICkgewogICAgY291dCA8PCAiIyMj
IyMjIyMjIyMjICIgPDwgaSA8PCBlbmRsOwogICAgdHJ5ewogICAgICB0ZXN0dGhyb3coKTsKICAg
IH0KICAgIGNhdGNoKHRlcnJvciB0KXsKICAgIH0KICAgIC8vIHdoZW4gdGhlIGZvbG93aW5nIGNv
dXQgaXMgdW5jb21tZW50ZWQsIHRoZSBidWcgZG9lcyBub3QgYXBwZWFyCiAgICAvLyAgZXZlbiB3
aGVuIGNvbXBpbGVkIHdpdGggLU8KICAgIC8vIGNvdXQgPDwgInkiOwogIH0KICByZXR1cm4gMDsK
fQoK