public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug c++/57793] [4.7/4.8/4.9 Regression] ICE wiith bitfields in get_bit_range [not found] <bug-57793-4@http.gcc.gnu.org/bugzilla/> @ 2013-07-03 9:02 ` paolo.carlini at oracle dot com 2013-07-04 7:51 ` [Bug c++/57793] [4.7/4.8/4.9 Regression] ICE with " jakub at gcc dot gnu.org ` (3 subsequent siblings) 4 siblings, 0 replies; 5+ messages in thread From: paolo.carlini at oracle dot com @ 2013-07-03 9:02 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57793 Paolo Carlini <paolo.carlini at oracle dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2013-07-03 Summary|Cross-Compiler Templates |[4.7/4.8/4.9 Regression] |and Bitfields Ask to Report |ICE wiith bitfields in |Problem |get_bit_range Ever confirmed|0 |1 --- Comment #1 from Paolo Carlini <paolo.carlini at oracle dot com> --- I can confirm this on x86_64-linux -m32, no need for a cross-compiler. I doubt however that it's a C++ front-end issue. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/57793] [4.7/4.8/4.9 Regression] ICE with bitfields in get_bit_range [not found] <bug-57793-4@http.gcc.gnu.org/bugzilla/> 2013-07-03 9:02 ` [Bug c++/57793] [4.7/4.8/4.9 Regression] ICE wiith bitfields in get_bit_range paolo.carlini at oracle dot com @ 2013-07-04 7:51 ` jakub at gcc dot gnu.org 2013-07-04 9:03 ` paolo.carlini at oracle dot com ` (2 subsequent siblings) 4 siblings, 0 replies; 5+ messages in thread From: jakub at gcc dot gnu.org @ 2013-07-04 7:51 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57793 Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|ice-on-valid-code |ice-on-invalid-code CC| |jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Reduced testcase: struct A { bool a : 1; bool b : 1; }; struct B { unsigned char c[0x40000000]; unsigned char d[0x40000ff0]; A e; void *foo () { if (e.a) return (void *) 0; e.b = true; return c; } }; void bar (B *p) { p->foo (); } This is of course invalid for 32-bit arches, you can't have an aggregate larger than half of the address space, so this PR is just about missing diagnostics for it. If the single field is 0x80000000U bytes or larger, gcc already diagnoses it. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/57793] [4.7/4.8/4.9 Regression] ICE with bitfields in get_bit_range [not found] <bug-57793-4@http.gcc.gnu.org/bugzilla/> 2013-07-03 9:02 ` [Bug c++/57793] [4.7/4.8/4.9 Regression] ICE wiith bitfields in get_bit_range paolo.carlini at oracle dot com 2013-07-04 7:51 ` [Bug c++/57793] [4.7/4.8/4.9 Regression] ICE with " jakub at gcc dot gnu.org @ 2013-07-04 9:03 ` paolo.carlini at oracle dot com 2013-07-04 9:11 ` paolo.carlini at oracle dot com 2013-07-22 11:12 ` paolo.carlini at oracle dot com 4 siblings, 0 replies; 5+ messages in thread From: paolo.carlini at oracle dot com @ 2013-07-04 9:03 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57793 --- Comment #4 from Paolo Carlini <paolo.carlini at oracle dot com> --- Thanks Jakub. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/57793] [4.7/4.8/4.9 Regression] ICE with bitfields in get_bit_range [not found] <bug-57793-4@http.gcc.gnu.org/bugzilla/> ` (2 preceding siblings ...) 2013-07-04 9:03 ` paolo.carlini at oracle dot com @ 2013-07-04 9:11 ` paolo.carlini at oracle dot com 2013-07-22 11:12 ` paolo.carlini at oracle dot com 4 siblings, 0 replies; 5+ messages in thread From: paolo.carlini at oracle dot com @ 2013-07-04 9:11 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57793 --- Comment #5 from Paolo Carlini <paolo.carlini at oracle dot com> --- Note that something like this ICEs the C compiler too: struct A { _Bool a : 1; _Bool b : 1; }; struct B { unsigned char c[0x40000000]; unsigned char d[0x40000ff0]; struct A e; }; void *foo (struct B *p) { if (p->e.a) return (void *) 0; p->e.b = 1; return p->c; } void bar (struct B *p) { foo (p); } thus I wonder if the check belongs to the front-end(s) or not. Opinions? ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug c++/57793] [4.7/4.8/4.9 Regression] ICE with bitfields in get_bit_range [not found] <bug-57793-4@http.gcc.gnu.org/bugzilla/> ` (3 preceding siblings ...) 2013-07-04 9:11 ` paolo.carlini at oracle dot com @ 2013-07-22 11:12 ` paolo.carlini at oracle dot com 4 siblings, 0 replies; 5+ messages in thread From: paolo.carlini at oracle dot com @ 2013-07-22 11:12 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57793 Paolo Carlini <paolo.carlini at oracle dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC|jason at gcc dot gnu.org | Resolution|--- |FIXED Target Milestone|--- |4.9.0 --- Comment #6 from Paolo Carlini <paolo.carlini at oracle dot com> --- Thus this is fixed for 4.9.0. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-07-22 11:12 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <bug-57793-4@http.gcc.gnu.org/bugzilla/> 2013-07-03 9:02 ` [Bug c++/57793] [4.7/4.8/4.9 Regression] ICE wiith bitfields in get_bit_range paolo.carlini at oracle dot com 2013-07-04 7:51 ` [Bug c++/57793] [4.7/4.8/4.9 Regression] ICE with " jakub at gcc dot gnu.org 2013-07-04 9:03 ` paolo.carlini at oracle dot com 2013-07-04 9:11 ` paolo.carlini at oracle dot com 2013-07-22 11:12 ` paolo.carlini at oracle dot com
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).