https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124148
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note GCC's fix for this looks more complex because of the GCC has a program
which generates marker functions from the type (GTY) and vec can be in the GC
memory.
But the correct fix is to do:
typedef struct ChainBase {
ChainType sType;
const void *pNext;
} ChainBase;
typedef struct A {
ChainBase base;
uint32_t dummy;
} A;
typedef struct B {
ChainBase base;
uint32_t dummy;
} B;
