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