Line 471... |
Line 471... |
typedef struct VEC(T,A) GTY \
|
typedef struct VEC(T,A) GTY \
|
{ \
|
{ \
|
VEC(T,B) base; \
|
VEC(T,B) base; \
|
} VEC(T,A)
|
} VEC(T,A)
|
|
|
|
/* JPB 25-Aug-10: Derived vector type, user visible for anonymous
|
|
struct. Gets rid of compile warnings. */
|
|
#define VEC_TA_GTY_ANON(T,B,A) \
|
|
typedef struct VEC(T,A) \
|
|
{ \
|
|
VEC(T,B) base; \
|
|
} VEC(T,A)
|
|
|
/* Convert to base type. */
|
/* Convert to base type. */
|
#define VEC_BASE(P) ((P) ? &(P)->base : 0)
|
#define VEC_BASE(P) ((P) ? &(P)->base : 0)
|
|
|
/* Vector of integer-like object. */
|
/* Vector of integer-like object. */
|
#if IN_GENGTYPE
|
#if IN_GENGTYPE
|
Line 486... |
Line 494... |
{ \
|
{ \
|
(void)~(T)0; \
|
(void)~(T)0; \
|
} \
|
} \
|
\
|
\
|
VEC_T(T,base); \
|
VEC_T(T,base); \
|
VEC_TA_GTY(T,base,none,); \
|
VEC_TA_GTY_ANON(T,base,none); \
|
DEF_VEC_FUNC_P(T) \
|
DEF_VEC_FUNC_P(T) \
|
struct vec_swallow_trailing_semi
|
struct vec_swallow_trailing_semi
|
#define DEF_VEC_ALLOC_I(T,A) \
|
#define DEF_VEC_ALLOC_I(T,A) \
|
VEC_TA_GTY(T,base,A,); \
|
VEC_TA_GTY_ANON(T,base,A); \
|
DEF_VEC_ALLOC_FUNC_I(T,A) \
|
DEF_VEC_ALLOC_FUNC_I(T,A) \
|
struct vec_swallow_trailing_semi
|
struct vec_swallow_trailing_semi
|
#endif
|
#endif
|
|
|
/* Vector of pointer to object. */
|
/* Vector of pointer to object. */
|
Line 507... |
Line 515... |
{ \
|
{ \
|
(void)((T)1 == (void *)1); \
|
(void)((T)1 == (void *)1); \
|
} \
|
} \
|
\
|
\
|
VEC_T_GTY(T,base); \
|
VEC_T_GTY(T,base); \
|
VEC_TA_GTY(T,base,none,); \
|
VEC_TA_GTY_ANON(T,base,none); \
|
DEF_VEC_FUNC_P(T) \
|
DEF_VEC_FUNC_P(T) \
|
struct vec_swallow_trailing_semi
|
struct vec_swallow_trailing_semi
|
#define DEF_VEC_ALLOC_P(T,A) \
|
#define DEF_VEC_ALLOC_P(T,A) \
|
VEC_TA_GTY(T,base,A,); \
|
VEC_TA_GTY_ANON(T,base,A); \
|
DEF_VEC_ALLOC_FUNC_P(T,A) \
|
DEF_VEC_ALLOC_FUNC_P(T,A) \
|
struct vec_swallow_trailing_semi
|
struct vec_swallow_trailing_semi
|
#endif
|
#endif
|
|
|
#define DEF_VEC_FUNC_P(T) \
|
#define DEF_VEC_FUNC_P(T) \
|
Line 793... |
Line 801... |
{"DEF_VEC_O", VEC_STRINGIFY (VEC_T_GTY(#0,#1)) ";", "none"},
|
{"DEF_VEC_O", VEC_STRINGIFY (VEC_T_GTY(#0,#1)) ";", "none"},
|
{"DEF_VEC_ALLOC_O", VEC_STRINGIFY (VEC_TA_GTY(#0,#1,#2,#3)) ";", NULL},
|
{"DEF_VEC_ALLOC_O", VEC_STRINGIFY (VEC_TA_GTY(#0,#1,#2,#3)) ";", NULL},
|
#else
|
#else
|
#define DEF_VEC_O(T) \
|
#define DEF_VEC_O(T) \
|
VEC_T_GTY(T,base); \
|
VEC_T_GTY(T,base); \
|
VEC_TA_GTY(T,base,none,); \
|
VEC_TA_GTY_ANON(T,base,none); \
|
DEF_VEC_FUNC_O(T) \
|
DEF_VEC_FUNC_O(T) \
|
struct vec_swallow_trailing_semi
|
struct vec_swallow_trailing_semi
|
#define DEF_VEC_ALLOC_O(T,A) \
|
#define DEF_VEC_ALLOC_O(T,A) \
|
VEC_TA_GTY(T,base,A,); \
|
VEC_TA_GTY_ANON(T,base,A); \
|
DEF_VEC_ALLOC_FUNC_O(T,A) \
|
DEF_VEC_ALLOC_FUNC_O(T,A) \
|
struct vec_swallow_trailing_semi
|
struct vec_swallow_trailing_semi
|
#endif
|
#endif
|
|
|
#define DEF_VEC_FUNC_O(T) \
|
#define DEF_VEC_FUNC_O(T) \
|