public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/41123]  New: [4.4 Regression] ICE in expand_expr_real_1
@ 2009-08-19 17:32 jakub at gcc dot gnu dot org
  2009-08-19 17:43 ` [Bug middle-end/41123] " jakub at gcc dot gnu dot org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: jakub at gcc dot gnu dot org @ 2009-08-19 17:32 UTC (permalink / raw)
  To: gcc-bugs

typedef struct { int r, i; } F;

F
foo (float _Complex x)
{
  return *(F *) &x;
}

F
bar (float _Complex x)
{
  F f = foo (x);
  return f;
}

ICEs at -O2 -fno-strict-aliasing -m32 on x86_64-linux and i686-linux.
On the trunk this doesn't ICE likely due to expand on SSA.


-- 
           Summary: [4.4 Regression] ICE in expand_expr_real_1
           Product: gcc
           Version: 4.4.1
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jakub at gcc dot gnu dot org
GCC target triplet: i686-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41123


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug middle-end/41123] [4.4 Regression] ICE in expand_expr_real_1
  2009-08-19 17:32 [Bug middle-end/41123] New: [4.4 Regression] ICE in expand_expr_real_1 jakub at gcc dot gnu dot org
@ 2009-08-19 17:43 ` jakub at gcc dot gnu dot org
  2009-08-19 22:51 ` jakub at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu dot org @ 2009-08-19 17:43 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from jakub at gcc dot gnu dot org  2009-08-19 17:42 -------
Since PR6177 that part of expand_expr* at least handles whole CONCAT, but as
can be seen on this testcase, since VCE can be used, it should be probably
handled fully.  On this testcase it could be handled just by giving one part of
the CONCAT, but e.g. on:
typedef struct { char a, b, c, d, e, f, g, h; } F;

F
foo (float _Complex x)
{
  return *(F *) &x;
}

int
bar (float _Complex x)
{
  F f = foo (x);
  return f.b;
}

I'm afraid it just needs to store it into memory.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41123


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug middle-end/41123] [4.4 Regression] ICE in expand_expr_real_1
  2009-08-19 17:32 [Bug middle-end/41123] New: [4.4 Regression] ICE in expand_expr_real_1 jakub at gcc dot gnu dot org
  2009-08-19 17:43 ` [Bug middle-end/41123] " jakub at gcc dot gnu dot org
@ 2009-08-19 22:51 ` jakub at gcc dot gnu dot org
  2009-08-19 22:52 ` jakub at gcc dot gnu dot org
  2009-08-19 22:55 ` jakub at gcc dot gnu dot org
  3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu dot org @ 2009-08-19 22:51 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from jakub at gcc dot gnu dot org  2009-08-19 22:51 -------
Subject: Bug 41123

Author: jakub
Date: Wed Aug 19 22:51:20 2009
New Revision: 150946

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=150946
Log:
        PR middle-end/41123
        * expr.c (expand_expr_real_1) <normal_inner_ref>: Handle all kinds
        of CONCAT, not just bitpos 0 bitsize size of the whole CONCAT.

        * gcc.dg/pr41123.c: New test.

Added:
    trunk/gcc/testsuite/gcc.dg/pr41123.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/expr.c
    trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41123


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug middle-end/41123] [4.4 Regression] ICE in expand_expr_real_1
  2009-08-19 17:32 [Bug middle-end/41123] New: [4.4 Regression] ICE in expand_expr_real_1 jakub at gcc dot gnu dot org
  2009-08-19 17:43 ` [Bug middle-end/41123] " jakub at gcc dot gnu dot org
  2009-08-19 22:51 ` jakub at gcc dot gnu dot org
@ 2009-08-19 22:52 ` jakub at gcc dot gnu dot org
  2009-08-19 22:55 ` jakub at gcc dot gnu dot org
  3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu dot org @ 2009-08-19 22:52 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from jakub at gcc dot gnu dot org  2009-08-19 22:52 -------
Subject: Bug 41123

Author: jakub
Date: Wed Aug 19 22:52:11 2009
New Revision: 150947

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=150947
Log:
        PR middle-end/41123
        * expr.c (expand_expr_real_1) <normal_inner_ref>: Handle all kinds
        of CONCAT, not just bitpos 0 bitsize size of the whole CONCAT.

        * gcc.dg/pr41123.c: New test.

Added:
    branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr41123.c
Modified:
    branches/gcc-4_4-branch/gcc/ChangeLog
    branches/gcc-4_4-branch/gcc/expr.c
    branches/gcc-4_4-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41123


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug middle-end/41123] [4.4 Regression] ICE in expand_expr_real_1
  2009-08-19 17:32 [Bug middle-end/41123] New: [4.4 Regression] ICE in expand_expr_real_1 jakub at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2009-08-19 22:52 ` jakub at gcc dot gnu dot org
@ 2009-08-19 22:55 ` jakub at gcc dot gnu dot org
  3 siblings, 0 replies; 5+ messages in thread
From: jakub at gcc dot gnu dot org @ 2009-08-19 22:55 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from jakub at gcc dot gnu dot org  2009-08-19 22:55 -------
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.4.2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41123


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-08-19 22:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-19 17:32 [Bug middle-end/41123] New: [4.4 Regression] ICE in expand_expr_real_1 jakub at gcc dot gnu dot org
2009-08-19 17:43 ` [Bug middle-end/41123] " jakub at gcc dot gnu dot org
2009-08-19 22:51 ` jakub at gcc dot gnu dot org
2009-08-19 22:52 ` jakub at gcc dot gnu dot org
2009-08-19 22:55 ` jakub at gcc dot gnu dot org

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