gcc 4.x tightened up some C rules. The following used to work...
extern const struct my_type my_array[];
struct my_type
{
char * a;
int b;
};
You now need to make sure the type is visible before using it in an array declaration like so...
struct my_type
{
char * a;
int b;
};
extern const struct my_type my_array[];