Huh, I had no idea it worked like that. That's bizarre.
struct car { ... };
which would get cumbersome to type. #pragma struct SOA
struct entity {
uint32_t id;
...
};
struct entity all_entities[1000];
and have the compiler rewrite it to struct {
uint32_t id[1000];
...[1000];
} all_entities; // where typeof(all_entites[N]) == typeof(struct entity)
à la Jai[2]. This isn't a particularly hard transformation to do by hand, but it's kind of tedious.