On 10 January 2008 16:12, Gabriele SVELTO wrote:
> int
> main()
> {
> struct try
> {
> FLOAT x, y;
> unsigned unord : 1;
> unsigned lt : 1;
> unsigned le : 1;
> unsigned gt : 1;
> unsigned ge : 1;
> unsigned lg : 1;
> };
>
> static struct try const data[] =
> {
> { NAN, NAN, 1, 0, 0, 0, 0, 0 },
> { 0.0, NAN, 1, 0, 0, 0, 0, 0 },
> { NAN, 0.0, 1, 0, 0, 0, 0, 0 },
> { 0.0, 0.0, 0, 0, 1, 0, 1, 0 },
> { 1.0, 2.0, 0, 1, 1, 0, 0, 1 },
> { 2.0, 1.0, 0, 0, 0, 1, 1, 1 },
> };
> A new type still named 'struct try' is used in the COMPONENT_REFs of
> this function but this type has a different TYPE_UID from the 'struct try'
> used in main. Since the original type was local to main this makes sense.
But the array is local to main as well ...
> However this new type shares the fields with the old one i.e. calling
> DECL_FIELD_CONTEXT () on its fields doesn't yield itself but another type
> (the old one used in main).
Is this possibly because the new type is not "struct try" but "struct try
const"; it adds the const qualifier and refers back to the original "struct
try" for the fields?
cheers,
DaveK
--
Can't think of a witty .sigline today....