public inbox for gcc-prs@sourceware.org help / color / mirror / Atom feed
From: lprimak@hope.nyc.ny.us To: gcc-gnats@gcc.gnu.org Subject: c++/7322: Code to Compute Numeric Limits "runs away" when -O<any> used Date: Mon, 15 Jul 2002 19:56:00 -0000 [thread overview] Message-ID: <20020716024640.20402.qmail@sources.redhat.com> (raw) >Number: 7322 >Category: c++ >Synopsis: Code to Compute Numeric Limits "runs away" when -O<any> used >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Mon Jul 15 19:56:00 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Lenny Primak >Release: gcc version 3.1 >Organization: >Environment: (the OS is probably irrelevant) Solaris 8/x86, Oct. 01 release, gcc 3.1 as posted on Sunfreeware.com ash-2.03$ gcc -v Reading specs from /usr/local/lib/gcc-lib/i386-pc-solaris2.8/3.1/specs Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --disable-nls Thread model: posix bash-2.03$ gcc -v Reading specs from /usr/local/lib/gcc-lib/i386-pc-solaris2.8/3.1/specs Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --disable-nls Thread model: posix gcc version 3.1 >Description: The code works correctly when not using the optimize (-O) switch. Incorrect code is produced that causes the process to "run away" and eats 100% of the cpu when any kind of optimization switch is used. >How-To-Repeat: bash-2.03$ c++ -O1 limits.cpp bash-2.03$ ./a.out : #undef _LPLIM_LIMITS #define _LPLIM_CHAR_BIT 8 #define _LPLIM_BOOL_MIN !!0 /* sizeof (bool) = 1 */ #define _LPLIM_BOOL_MAX !0 #define _LPLIM_CHAR_MAX 127 /* sizeof (char) = 1 */ #define _LPLIM_CHAR_MIN (-_LPLIM_CHAR_MAX - 1) (hangs/runs away here) ^C bash-2.03$ >Fix: None Available >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="limits.cpp" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="limits.cpp" Ly8gY29tcHV0aW5nIGludGVncmFsIGxpbWl0cwoKIyAgaW5jbHVkZSA8bGltaXRzLmg+CgojaW5j bHVkZSA8c3RkaW8uaD4KCgp0ZW1wbGF0ZTxjbGFzcyBUPgp2b2lkIHByaW50X2xpbWl0IChUIG4s IGNvbnN0IGNoYXIgKnBmeCwgY29uc3QgY2hhciAqc2Z4LAogICAgICAgICAgICAgICAgICBib29s IGlzX21heCwgY29uc3QgY2hhciAqdHlwZSkKewogICAgLy8gcHJldmVudHMgbWVhbmluZ2xlc3Mg Y29tcGFyaXNvbiB3YXJuaW5ncyB3aGVuIFQgaXMgdW5zaWduZWQKICAgIC8vIGUuZy4sIGZvciAo biA8IDApCiAgICAvKiBub3QgY29uc3QgKi8gVCB6ZXJvID0gVCAoMCk7CgogICAgY2hhciBkZWMg WzY0XSA9IHsgMCB9OwoKICAgIGNoYXIqIHBkZWMgPSBkZWMgKyBzaXplb2YgZGVjIC0gMTsKCiAg ICBjb25zdCBjaGFyIGRpZ2l0IFtdID0geyAnMCcsJzEnLCcyJywnMycsJzQnLCc1JywnNicsJzcn LCc4JywnOScgfTsKCiAgICBpZiAoaXNfbWF4IHx8IG4gPj0gemVybykgewoKICAgICAgICBUIHRk ZWMgPSBuOwoKICAgICAgICAqLS1wZGVjID0gZGlnaXQgW3RkZWMgJSAxMF07CiAgICAgICAgd2hp bGUgKHRkZWMgLz0gMTApCiAgICAgICAgICAgICotLXBkZWMgPSBkaWdpdCBbdGRlYyAlIDEwXTsK ICAgIH0KCiAgICBpZiAoaXNfbWF4KSB7CiAgICAgICAgcHJpbnRmICgiI2RlZmluZSBfTFBMSU1f JXNfTUFYICVzJXMiLCBwZngsIHBkZWMsIHNmeCk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBp ZiAobiA8IHplcm8pIHsKICAgICAgICAgICAgcHJpbnRmICgiI2RlZmluZSBfTFBMSU1fJXNfTUlO ICgtX0xQTElNXyVzX01BWCAtIDElcykiLAogICAgICAgICAgICAgICAgICAgIHBmeCwgcGZ4LCBz ZngpOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgcHJpbnRmICgiI2RlZmlu ZSBfTFBMSU1fJXNfTUlOICVzIiwgcGZ4LCBwZGVjKTsKICAgICAgICB9CiAgICB9CgogICAgc3Rh dGljIGludCBkb25lOwoKICAgIGlmICgwID09IGRvbmUrKykKICAgICAgICBwcmludGYgKCIgLyog c2l6ZW9mICglcykgPSAldSAqL1xuIiwgdHlwZSwgdW5zaWduZWQgKHNpemVvZiAoVCkpKTsKICAg IGVsc2UKICAgICAgICBwcmludGYgKCJcbiIpOwp9CgoKdGVtcGxhdGUgPGNsYXNzIFQ+ClQgZm9v IChUIG9uZSwgVCBtaW4pCnsKICAgIC8vIHByZXZlbnRzIG92ZXJ6ZWFsb3VzIGdjYyBvcHRpbWl6 ZXIgZnJvbSBpbnZva2luZwogICAgLy8gdW5kZWZpbmVkIGJlaGF2aW9yIG9uIHNpZ25lZCBpbnRl Z2VyIG92ZXIvdW5kZXJmbG93CiAgICBmb3IgKFQgdG1wOyA7IC0tbWluKSB7CiAgICAgICAgdG1w ID0gbWluIC0gb25lOwogICAgICAgIGlmICh0bXAgPj0gbWluKQogICAgICAgICAgICBicmVhazsK ICAgIH0KCiAgICByZXR1cm4gbWluOwp9CgoKdGVtcGxhdGUgPGNsYXNzIFQ+CnZvaWQgY29tcHV0 ZV9saW1pdHMgKFQsIGNvbnN0IGNoYXIgKnBmeCwgY29uc3QgY2hhciAqc2Z4LCBjb25zdCBjaGFy ICp0eXBlKQp7CiAgICBUIHplcm8gPSBUICgwKTsKICAgIFQgbWluICA9IFQgKC0xKTsKICAgIFQg bWF4ICA9IFQgKDEpOwogICAgVCBvbmUgID0gVCAoMSk7CgogICAgaW50IGlzX3NpZ25lZCA9IFQg KG1pbiAtIFQgKDEpKSA8IHplcm87CgogICAgaWYgKCFpc19zaWduZWQpCiAgICAgICAgbWF4ID0g bWluOwoKICAgIGZvciAoOyBUIChtYXggKiAyKSA+IG1heDsgbWF4ICo9IDIpOwogICAgZm9yIChU IG4gPSBtYXggLyA0OyBuOyApIHsKICAgICAgICBpZiAoVCAobWF4ICsgbikgPCBtYXgpIHsKICAg ICAgICAgICAgaWYgKG4gPiAyKQogICAgICAgICAgICAgICAgbiAvPSAyOwogICAgICAgICAgICBl bHNlIGlmIChUIChtYXggKyAxKSA+IG1heCkKICAgICAgICAgICAgICAgIG4gPSAxOwogICAgICAg ICAgICBlbHNlCiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgZWxzZQog ICAgICAgICAgICBtYXggKz0gbjsKICAgIH0KCiAgICBwcmludF9saW1pdCAobWF4LCBwZngsIHNm eCwgdHJ1ZSwgdHlwZSk7CgogICAgbWluID0gLW1heDsKCiAgICAvLyBjb21wdXRlIGEgbWluaW11 bQogICAgZm9yICg7IFQgKG1pbiAqIDIpIDwgbWluOyBtaW4gKj0gMik7CgogICAgLy8gd29ya2lu ZyBhcm91bmQgYSBnY2Mgb3B0aW1pemVyICJmZWF0dXJlIiAoUFIgIzI2MjExKQogICAgLy8gc2ln bmVkIGludGVnZXIgb3ZlcmZsb3cgaXMgdW5kZWZpbmVkIGJlaGF2aW9yCiAgICAvLyBmb3IgKDsg VCAobWluIC0gMSkgPCBtaW47IG1pbiAtPSAxKTsKICAgIG1pbiA9IGZvbyAob25lLCBtaW4pOwoK ICAgIHByaW50X2xpbWl0PFQ+IChtaW4sIHBmeCwgc2Z4LCBmYWxzZSwgdHlwZSk7Cn0KCgp2b2lk IGNvbXB1dGVfY2hhcl9iaXRzICgpCnsKICAgIHVuc2lnbmVkIGJpdHMgPSAwOwoKICAgIGZvciAo dW5zaWduZWQgY2hhciBjID0gJ1wwMSc7IGM7IGMgPDw9IDEsICsrYml0cyk7CgogICAgcHJpbnRm ICgiI2RlZmluZSBfTFBMSU1fQ0hBUl9CSVQgJWRcbiIsIGJpdHMpOwp9CgoKaW50IG1haW4gKCkK ewojaWZuZGVmIF9MUExJTV9VU0VfQ09ORklHCgogICAgcHJpbnRmICgiOlxuI3VuZGVmIF9MUExJ TV9MSU1JVFNcbiIpOwoKI2VuZGlmICAgLy8gX0xQTElNX1VTRV9DT05GSUcKCiAgICBjb21wdXRl X2NoYXJfYml0cyAoKTsKCiNpZm5kZWYgX0xQTElNX05PX0JPT0wKCiAgICBwcmludGYgKCIjZGVm aW5lIF9MUExJTV9CT09MX01JTiAhITAgLyogc2l6ZW9mIChib29sKSA9ICV1ICovXG4iLAogICAg ICAgICAgICBzaXplb2YgKGJvb2wpKTsKICAgIHByaW50ZiAoIiNkZWZpbmUgX0xQTElNX0JPT0xf TUFYICEwXG4iKTsKCiNlbmRpZiAgIC8vIF9MUExJTV9OT19CT09MCgogICAgY29tcHV0ZV9saW1p dHMgKChjaGFyKTAsICJDSEFSIiwgIiIsICJjaGFyIik7CiAgICBjb21wdXRlX2xpbWl0cyAoKHNp Z25lZCBjaGFyKTAsICJTQ0hBUiIsICIiLCAic2lnbmVkIGNoYXIiKTsKICAgIGNvbXB1dGVfbGlt aXRzICgodW5zaWduZWQgY2hhcikwLCAiVUNIQVIiLCAiVSIsICJ1bnNpZ25lZCBjaGFyIik7Cgog ICAgY29tcHV0ZV9saW1pdHMgKChzaG9ydCkwLCAiU0hSVCIsICIiLCAic2hvcnQiKTsKICAgIGNv bXB1dGVfbGltaXRzICgodW5zaWduZWQgc2hvcnQpMCwgIlVTSFJUIiwgIlUiLCAidW5zaWduZWQg c2hvcnQiKTsKCiAgICBjb21wdXRlX2xpbWl0cyAoKGludCkwLCAiSU5UIiwgIiIsICJpbnQiKTsK ICAgIGNvbXB1dGVfbGltaXRzICgodW5zaWduZWQgaW50KTAsICJVSU5UIiwgIlUiLCAidW5zaWdu ZWQgaW50Iik7CgogICAgY29tcHV0ZV9saW1pdHMgKChsb25nKTAsICJMT05HIiwgIkwiLCAibG9u ZyIpOwogICAgY29tcHV0ZV9saW1pdHMgKCh1bnNpZ25lZCBsb25nKTAsICJVTE9ORyIsICJVTCIs ICJ1bnNpZ25lZCBsb25nIik7CgojaWZuZGVmIF9MUExJTV9OT19MT05HX0xPTkcKCiAgICBjb21w dXRlX2xpbWl0cyAoKGxvbmcgbG9uZykwLCAiTExPTkciLCAiTEwiLCAibG9uZyBsb25nIik7CiAg ICBjb21wdXRlX2xpbWl0cyAoKHVuc2lnbmVkIGxvbmcgbG9uZykwLCAiVUxMT05HIiwgIlVMTCIs CiAgICAgICAgICAgICAgICAgICAgInVuc2lnbmVkIGxvbmcgbG9uZyIpOwoKI2VuZGlmICAgLy8g X0xQTElNX05PX0xPTkdfTE9ORwoKI2lmIGRlZmluZWQgKF9XSU4zMikgfHwgZGVmaW5lZCAoX1dJ TjY0KQoKICAgIGNvbXB1dGVfbGltaXRzICgoX19pbnQ2NCkwLCAiTExPTkciLCAiIiwgIl9faW50 NjQiKTsKICAgIGNvbXB1dGVfbGltaXRzICgodW5zaWduZWQgX19pbnQ2NCkwLCAiVUxMT05HIiwg IkwiLAogICAgICAgICAgICAgICAgICAgICJ1bnNpZ25lZCBfX2ludDY0Iik7CgoKI2VuZGlmICAg Ly8gX1dJTjMyIHx8IFdJTjY0CgojaWZuZGVmIF9MUExJTV9OT19XQ0hBUl9UCgogICAgY29tcHV0 ZV9saW1pdHMgKCh3Y2hhcl90KTAsICJXQ0hBUl9UIiwgIiIsICJ3Y2hhcl90Iik7CgojZW5kaWYg ICAvLyBfTFBMSU1fTk9fV0NIQVJfVAoKI2lmZGVmIE1CX0xFTl9NQVgKCiAgICBwcmludGYgKCIj ZGVmaW5lIF9MUExJTV9NQl9MRU5fTUFYICVkIC8qIGxpYmMgdmFsdWUgKi9cbiIsIE1CX0xFTl9N QVgpOwoKI2Vsc2UKCiAgICBwcmludGYgKCIjZGVmaW5lIF9MUExJTV9NQl9MRU5fTUFYICVkIC8q IGd1ZXNzICovXG4iLCA4KTsKCiNlbmRpZiAgIC8vIE1CX0xFTl9NQVgKCiAgICByZXR1cm4gMDsK fQo=
next reply other threads:[~2002-07-16 2:56 UTC|newest] Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2002-07-15 19:56 lprimak [this message] 2002-07-16 1:41 nathan
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20020716024640.20402.qmail@sources.redhat.com \ --to=lprimak@hope.nyc.ny.us \ --cc=gcc-gnats@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).