public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "krebbel at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/50325] [4.7 Regression] 76 new fails with rev. 177691 Date: Wed, 14 Sep 2011 07:38:00 -0000 [thread overview] Message-ID: <bug-50325-4-hBSHxlz7Sp@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-50325-4@http.gcc.gnu.org/bugzilla/> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50325 --- Comment #4 from Andreas Krebbel <krebbel at gcc dot gnu.org> 2011-09-14 07:20:14 UTC --- I've looked into the 22_locale/money_get/get/char/13.cc failure. The problem is a miscompilation of locale-inst.cc in libstdc++. Source: template<typename _CharT, typename _InIter> _InIter money_get<_CharT, _InIter>:: do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io, ios_base::iostate& __err, long double& __units) const { string __str; __beg = __intl ? _M_extract<true>(__beg, __end, __io, __err, __str) : _M_extract<false>(__beg, __end, __io, __err, __str); std::__convert_to_v(__str.c_str(), __units, __err, _S_get_c_locale()); return __beg; } The result of _M_extract is copied into the return ptr field of the function. This assignment copies 12 bytes: MEM[(struct iter_type *)&__beg] = MEM[(struct iter_type *)&D.23511]; expand_assignement expands this using store_field. However store_bit_field_1 does not seem to handle BLKmode copies correctly for byte big endian targets if the source cannot exactly be covered by word mode operands. It calls itself recursively for the last chunk with: store_bit_field_1 (str_rtx=0x3fff6528a38, bitsize=32, bitnum=64, bitregion_start=0, bitregion_end=0, fieldmode=DImode, value=0x3fff6528ab0, fallback_p=true) with value being (subreg:DI (reg:TI 70) 8) But copying 4 bytes from that value on a big endian target results in a src value of (subreg:DI (reg:TI 70) 12) so the wrong word is being copied here.
next prev parent reply other threads:[~2011-09-14 7:21 UTC|newest] Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-09-08 10:32 [Bug middle-end/50325] New: " krebbel at gcc dot gnu.org 2011-09-08 10:51 ` [Bug middle-end/50325] " dominiq at lps dot ens.fr 2011-09-08 12:10 ` [Bug middle-end/50325] [4.7 Regression] " rguenth at gcc dot gnu.org 2011-09-08 12:35 ` rguenth at gcc dot gnu.org 2011-09-14 7:38 ` krebbel at gcc dot gnu.org [this message] 2011-09-14 8:50 ` krebbel at gcc dot gnu.org 2011-09-14 13:33 ` dominiq at lps dot ens.fr 2011-09-14 18:04 ` dominiq at lps dot ens.fr 2011-09-14 18:29 ` dominiq at lps dot ens.fr 2011-09-16 14:46 ` dominiq at lps dot ens.fr 2011-10-10 12:36 ` rguenth at gcc dot gnu.org 2011-11-16 9:50 ` krebbel at gcc dot gnu.org 2011-11-16 10:22 ` krebbel at gcc dot gnu.org 2011-11-17 15:19 ` dje at gcc dot gnu.org 2011-11-17 15:21 ` dje at gcc dot gnu.org 2011-11-17 15:53 ` krebbel at gcc dot gnu.org 2011-11-17 16:38 ` dominiq at lps dot ens.fr 2011-11-19 16:08 ` iains at gcc dot gnu.org 2011-11-19 19:29 ` ebotcazou at gcc dot gnu.org 2011-11-20 12:32 ` rsandifo at gcc dot gnu.org 2011-11-21 0:55 ` oleg.endo@t-online.de 2011-11-21 8:42 ` iains at gcc dot gnu.org 2011-11-21 22:03 ` davem at gcc dot gnu.org 2011-11-22 9:49 ` krebbel at gcc dot gnu.org 2011-12-01 9:22 ` rguenther at suse dot de 2011-12-01 10:11 ` iains at gcc dot gnu.org 2011-12-01 10:26 ` iains at gcc dot gnu.org 2011-12-01 11:08 ` iains at gcc dot gnu.org 2011-12-01 11:26 ` rguenther at suse dot de 2012-01-08 13:00 ` dominiq at lps dot ens.fr 2012-01-08 17:26 ` ebotcazou at gcc dot gnu.org 2012-01-15 13:40 ` dominiq at lps dot ens.fr 2012-01-16 17:06 ` dje at gcc dot gnu.org 2012-01-16 21:32 ` rsandifo at gcc dot gnu.org 2012-01-16 22:05 ` ebotcazou at gcc dot gnu.org 2012-01-16 22:21 ` jakub at gcc dot gnu.org 2012-01-16 23:06 ` ebotcazou at gcc dot gnu.org 2012-01-17 11:36 ` jakub at gcc dot gnu.org 2012-01-17 12:09 ` rsandifo at gcc dot gnu.org 2012-01-17 22:10 ` rsandifo at gcc dot gnu.org 2012-01-17 23:46 ` rsandifo at gcc dot gnu.org 2012-01-23 10:12 ` amodra at gmail dot com 2020-03-13 9:10 ` marxin at gcc dot gnu.org
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=bug-50325-4-hBSHxlz7Sp@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@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).