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

Reply via email to