[PATCH] Fix middle-end/30132: ICE with complex and taking the real part of a ?:
Thu Mar 15 11:34:00 GMT 2007
On 3/14/07, Andrew_Pinski@playstation.sony.com
> The problem here is that the gimplifier can produce invalid gimple when
> the address is of an non addressable expression like a conditional
> expression. When Alexandre fixed PR 20280, he introduced the issue of
> building addresses of the two operand of a conditional expression if we
> wantted either a lvalue or a rvalue, this introduced this latent bug of
> invalid gimple.
> Now my patch fixes PR 20280 in the front-end so we never get &(a?b:c), we
> always get a?&b:&c instead. This patch also fixes the invalid gimple
> issue when needing a temp variable. This patch also reverts part of the
> patch for PR 20280 so only when we want lvalue of a conditional, we take
> the address inside the conditional.
> The middle part of the patch is enough to fix the bug but we get worse
> code as we get * (a?&b:&c) which is not optimized currently.
There's a patch pending for this:
More information about the Gcc-patches