Sorry, I meant move the array declarations within tables.h.
Like you have,
extern const struct clan_type clan_table[MAX_CLAN];
extern const struct position_type position_table[];
etc... Then below those is:
struct flag_type
{
char *name;
int bit;
bool settable;
};
struct clan_type
{
char *name;
char *who_name;
sh_int hall;
bool independent; /* true for loners */
};
etc...
See, it's trying to create arrays of clan_type and flag_type and stuff
before they've been defined. GCC 4 decided to be picky about this. I
assume they started to comply with some part of the C specs that
everyone else ignores.
So anyway, take all those extern array declarations in tables.h and
move them to the bottom of the file, under the struct definitions.
That's all I changed to get stock ROM to compile on my FC4 machine.
On 2/11/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
>
> Hi Mike (and others),
>
> > Welcome to GCC 4!
>
> Thanks!?
> GCC 4 is picky. :(
>
> > It's not the array size that's the problem, it's the fact that it's
> > trying to use clan_type, flag_type, etc. before they're defined.
>
> That much makes sense to me, but...
>
> > You know all of those delcarations it complained about? Yeah, those.=20
>
> Do I ever! (There's, umm... LOTS of them)
>
> > Move them down to the bottom of the file, after all the structure
> > definitions. Then it'll compile.
>
> The complaints are from a file called tables.h, which is an #include.
> I've tried to move the #include to the bottom of the file, but the same
> warnings appear.
>
> Aside from moving the tables, do you have any other suggestions or am I too
> daft to even bother playing with this anymore?
>
> > --Mike
>
> -Jesse
>
> PS. If I move the #include to the very top of the files, will that change
> anything? I don't have the code with me so I can't try it before I ask it.
>
>
--
ROM mailing list
[email protected]
Unsubscribe here ->>> http://www.rom.org/cgi-bin/mailman/listinfo/rom