This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

optimization/9632: 'If' statement evaluates differently depending on optimization (-O vs -g)


>Number:         9632
>Category:       optimization
>Synopsis:       'If' statement evaluates differently depending on optimization (-O vs -g)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Feb 08 22:36:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     larry@tmpinc.com
>Release:        gcc version 2.96 20000731 (Red Hat Linux 7.2 2.96-112.7.2)
>Organization:
>Environment:
RedHat 7.2
i386
gcc version 2.96 20000731 (Red Hat Linux 7.2 2.96-112.7.2)
>Description:
The attached file contains a code snippet that can be compiled and run. The 'if' test fails when the code is compiled with 
-O and works as expected when compiled with -g.
>How-To-Repeat:
Refer to attachment. When compiled with -g flag, wire_draw
is called as expected. When compiled with -O, wire_draw is
not called.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="ElemAttrOn.C"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="ElemAttrOn.C"

I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyBjb21waWxlL2xpbmsKLy8KLy8gZGVidWcKLy8gL3Vzci9i
aW4vZysrIC14IGMrKyAtZyAtZnNpZ25lZC1jaGFyIC1EX0dOVV9TT1VSQ0U9MSBFbGVtQXR0ck9u
LkMgLW8gZWxlbV9hdHRyX29uCi8vCi8vIG9wdGltaXplZAovLyAvdXNyL2Jpbi9nKysgLXggYysr
IC1PIC1mc2lnbmVkLWNoYXIgLURfR05VX1NPVVJDRT0xIEVsZW1BdHRyT24uQyAtbyBlbGVtX2F0
dHJfb24KLy8KLy8gZWxlbV9hdHRyX29uIHdvcmtzIGFzIGV4cGVjdGVkIHdoZW4gY29tcGlsZWQg
ZGVidWcgYW5kCi8vIGZhaWxzIHdoZW4gY29tcGlsZWQgd2l0aCBvcHRpbWl6YXRpb24KCi8vIHRo
ZSAnaWYnIHN0YXRlbWVudCBhdCBsaW5lIDUyIHdvcmtzIGRpZmZlcmVudGx5Ci8vIGRlcGVuZGlu
ZyBvbiBjb21waWxlIGZsYWdzLgoKc3RydWN0IE1vZGVsCnsKCXVuc2lnbmVkIGNoYXIgKmVsZW1i
Owp9OwoKY2hhciAqd2lyZV9kcmF3KCBNb2RlbCAqbW9kZWwsIGludCBpeCwgaW50IG9uKQp7Cglw
cmludGYoICJ3aXJlX2RyYXcgY2FsbGVkXG4iKTsKCXJldHVybiAwOwp9CgojZGVmaW5lIFdpcmVG
cmFtZU9mZiAgICAweDgwCiNkZWZpbmUgRWxlbU1hcmtlck9mZiAgIDB4NDAKI2RlZmluZSBFbGVt
TGFiZWxPZmYgICAgMHgyMAojZGVmaW5lIEVsZW1UeXBlT2ZmICAgICAweDEwCiNkZWZpbmUgTm9k
ZUF2ZXJhZ2VkICAgIDB4MDgKCiNkZWZpbmUgQWxsRWxlbUF0dHJPZmYgIChXaXJlRnJhbWVPZmZ8
RWxlbU1hcmtlck9mZnxFbGVtTGFiZWxPZmYpCiNkZWZpbmUgV2lyZVR5cGVPZmYJKFdpcmVGcmFt
ZU9mZnxFbGVtVHlwZU9mZikKCnZvaWQgRWxlbUF0dHJPbiggTW9kZWwgKm1vZGVsLCBpbnQgZWx0
eCwgdW5zaWduZWQgY2hhciBtYXNrKQp7CgkvKiB0dXJuIG9uIGVsZW1lbnQgYXR0cmlidXRlIHNl
bGVjdGVkIGJ5IG1hc2sgKi8KCgl1bnNpZ25lZCBjaGFyIGVsZW1iPSBtb2RlbC0+ZWxlbWJbIGVs
dHhdOwoKCW1hc2sgJj0gQWxsRWxlbUF0dHJPZmY7CgoJLy8gd2hlbiBjb21waWxlIHdpdGggLU8s
IHRoZSBmb2xsb3dpbmcgaWYgc3RhdGVtZW50IGFjdHMgYXMgaWYKCS8vIGl0IGlzIGZhbHNlIGFs
dGhvdWdoIGl0IGV2YWx1YXRlcyB0byBub24temVybyBmb3IgdGhpcyB0ZXN0IGNhc2UuIAoJLy8g
d2hlbiBjb21waWxlZCB3aXRoIC1nLCBpdCBvcGVyYXRlcyBhcyBleHBlY3RlZCAod2lyZV9kcmF3
KCkgYW5kCgkvLyBvdGhlciByb3V0aW5lcyBhcmUgY2FsbGVkCgoJLy9mcHJpbnRmKCBzdGRlcnIs
ICIlZFxuIiwgIG1hc2sgJiBXaXJlRnJhbWVPZmYpOwoKCWlmKCBtYXNrICYgV2lyZUZyYW1lT2Zm
KQoJewoJCWlmKCAoZWxlbWImV2lyZVR5cGVPZmYpPT1XaXJlRnJhbWVPZmYpCS8qIHdpcmUgZnJh
bWUgaXMgb2ZmICovCgkJewoJCQl3aXJlX2RyYXcoIG1vZGVsLCBlbHR4LCAxKTsJLyogdHVybiBv
biAqLwoJCX0KCX0KCgltb2RlbC0+ZWxlbWJbIGVsdHhdPSBlbGVtYiAmIH5tYXNrOwp9CgptYWlu
KCkKewoJdW5zaWduZWQgY2hhciBlbGVtYlsxXTsKCU1vZGVsIG1vZGVsOwoKCW1vZGVsLmVsZW1i
PSBlbGVtYjsKCgllbGVtYlswXT0gV2lyZUZyYW1lT2ZmfEVsZW1NYXJrZXJPZmZ8RWxlbUxhYmVs
T2ZmOwoKCUVsZW1BdHRyT24oICZtb2RlbCwgMCwgZWxlbWJbMF0pOwp9Cg==


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]