On 11/11/2013 01:22 AM, luser- -droog wrote:
> I just learned that the suncc compiler does not accept code that I thought was fine (and really cool). Have I been unknowingly using a gcc extension?
>
> The union type is defined in src/lib/object.h
>
http://code.google.com/p/xpost/source/browse/src/lib/xpost_object.h#352
>
> typedef union
> {
> word tag;
>
> Xpost_Object_Mark mark_;
> Xpost_Object_Int int_;
> Xpost_Object_Real real_;
> Xpost_Object_Extended extended_;
> Xpost_Object_Comp comp_;
> Xpost_Object_Save save_;
> Xpost_Object_Saverec saverec_;
> Xpost_Object_Glob glob_;
> Xpost_Object_Magic magic_;
> } Xpost_Object;
>
> And the suncc compiler didn't like this:
> (concise example, relevant changelog:
>
http://code.google.com/p/xpost/source/detail?r=60c9fc1e7e100ef3ecd2b93c164711aa0cbf17f2)
>
> Xpost_Object_Extended e;
> Xpost_Object o;
> o = (Xpost_Object)e;
When you do a cast, "... the type name shall specify atomic, qualified,