>
> > Well, it's written to only in this testcase. Can you post a more complete
> > one?
>
> Here's the complete testcase.
>
> int g(_Complex int*);
> int f(void)
> {
> _Complex int t = 0;
> __real__ t = 2;
> __imag__ t = 2;
> return g(&t);
> }
Yes but that should not matter always as this is going to the
same issue with a struct assignment like:
struct a
{
int t;
int t1;
};
int g(struct a*);
int f(void)
{
struct a t = {};
t.t = 1;
t.t1 = 2;
reutrn g(&t);
}
You will noticed that we get {} in there with a VMUST_DEF (I hope).
So really this testcase is not really useful in general except for
losing a slight missed optimization on the tree level. I can construct
a testcase that exposes the compile time issues with complex variables
just as well as I could with structs which is what Richard G.'s patch
was trying to fix.
So I think this is the wrong approach to just disable this for one
type only.
-- Pinski