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).