Hi Nathan,
Does the VEC API support the following?
typedef unsigned char vec_uchar;
DEF_VEC_I(vec_uchar);
DEF_VEC_ALLOC_I(vec_uchar,gc);
Note that this is GC'ed. When I use this construct in except.c, I get
libbackend.a(except.o): In function `gt_ggc_mx_eh_status':
./gt-except.h:104: undefined reference to `gt_ggc_mx_VEC_vec_uchar_gc'
./gt-except.h:106: undefined reference to `gt_ggc_mx_VEC_vec_uchar_gc'
libbackend.a(except.o): In function `gt_pch_nx_eh_status':
./gt-except.h:221: undefined reference to `gt_pch_nx_VEC_vec_uchar_gc'
./gt-except.h:223: undefined reference to `gt_pch_nx_VEC_vec_uchar_gc'
The reason I'd like to use GC memory for these integer arrays is
because the structure, namely eh_status, that contains the integer
arrays is GC'ed.
I have a workaround like so
typedef struct vec_uchar_struct GTY(()) {
unsigned char uc;
} vec_uchar;
DEF_VEC_O(vec_uchar);
DEF_VEC_ALLOC_O(vec_uchar,gc);
But this is more complicated than it should be. If the VEC API does
not support an integer array in GC, what should I do to add that?
Some sketch would be greatly appreciated.
Thanks,
Kazu Hirata