GDBserver
Macros | Functions
vec.h File Reference

Go to the source code of this file.

Macros

#define VEC_length(T, V)   (VEC_OP(T,length)(V))
 
#define VEC_empty(T, V)   (VEC_length (T,V) == 0)
 
#define VEC_last(T, V)   (VEC_OP(T,last)(V VEC_ASSERT_INFO))
 
#define VEC_index(T, V, I)   (VEC_OP(T,index)(V,I VEC_ASSERT_INFO))
 
#define VEC_iterate(T, V, I, P)   (VEC_OP(T,iterate)(V,I,&(P)))
 
#define VEC_alloc(T, N)   (VEC_OP(T,alloc)(N))
 
#define VEC_free(T, V)   (VEC_OP(T,free)(&V))
 
#define VEC_cleanup(T)   (VEC_OP(T,cleanup))
 
#define VEC_embedded_size(T, N)   (VEC_OP(T,embedded_size)(N))
 
#define VEC_embedded_init(T, O, N)   (VEC_OP(T,embedded_init)(VEC_BASE(O),N))
 
#define VEC_copy(T, V)   (VEC_OP(T,copy)(V))
 
#define VEC_merge(T, V1, V2)   (VEC_OP(T,merge)(V1, V2))
 
#define VEC_space(T, V, R)   (VEC_OP(T,space)(V,R VEC_ASSERT_INFO))
 
#define VEC_reserve(T, V, R)   (VEC_OP(T,reserve)(&(V),R VEC_ASSERT_INFO))
 
#define VEC_quick_push(T, V, O)   (VEC_OP(T,quick_push)(V,O VEC_ASSERT_INFO))
 
#define VEC_safe_push(T, V, O)   (VEC_OP(T,safe_push)(&(V),O VEC_ASSERT_INFO))
 
#define VEC_pop(T, V)   (VEC_OP(T,pop)(V VEC_ASSERT_INFO))
 
#define VEC_truncate(T, V, I)   (VEC_OP(T,truncate)(V,I VEC_ASSERT_INFO))
 
#define VEC_safe_grow(T, V, I)   (VEC_OP(T,safe_grow)(&(V),I VEC_ASSERT_INFO))
 
#define VEC_replace(T, V, I, O)   (VEC_OP(T,replace)(V,I,O VEC_ASSERT_INFO))
 
#define VEC_quick_insert(T, V, I, O)   (VEC_OP(T,quick_insert)(V,I,O VEC_ASSERT_INFO))
 
#define VEC_safe_insert(T, V, I, O)   (VEC_OP(T,safe_insert)(&(V),I,O VEC_ASSERT_INFO))
 
#define VEC_ordered_remove(T, V, I)   (VEC_OP(T,ordered_remove)(V,I VEC_ASSERT_INFO))
 
#define VEC_unordered_remove(T, V, I)   (VEC_OP(T,unordered_remove)(V,I VEC_ASSERT_INFO))
 
#define VEC_block_remove(T, V, I, L)   (VEC_OP(T,block_remove)(V,I,L VEC_ASSERT_INFO))
 
#define VEC_address(T, V)   (VEC_OP(T,address)(V))
 
#define VEC_lower_bound(T, V, O, LT)    (VEC_OP(T,lower_bound)(V,O,LT VEC_ASSERT_INFO))
 
#define vec_free_(V)   xfree (V)
 
#define VEC_ASSERT_INFO   ,__FILE__,__LINE__
 
#define VEC_ASSERT_DECL   ,const char *file_,unsigned line_
 
#define VEC_ASSERT_PASS   ,file_,line_
 
#define vec_assert(expr, op)
 
#define VEC(T)   VEC_##T
 
#define VEC_OP(T, OP)   VEC_##T##_##OP
 
#define VEC_T(T)
 
#define DEF_VEC_I(T)
 
#define DEF_VEC_P(T)
 
#define DEF_VEC_O(T)
 
#define DEF_VEC_ALLOC_FUNC_I(T)
 
#define DEF_VEC_FUNC_P(T)
 
#define DEF_VEC_ALLOC_FUNC_P(T)
 
#define DEF_VEC_FUNC_O(T)
 
#define DEF_VEC_ALLOC_FUNC_O(T)
 

Functions

void * vec_p_reserve (void *, int)
 
void * vec_o_reserve (void *, int, size_t, size_t)
 

Macro Definition Documentation

#define DEF_VEC_ALLOC_FUNC_I (   T)

Definition at line 440 of file vec.h.

#define DEF_VEC_ALLOC_FUNC_O (   T)

Definition at line 997 of file vec.h.

#define DEF_VEC_ALLOC_FUNC_P (   T)

Definition at line 727 of file vec.h.

#define DEF_VEC_FUNC_O (   T)

Definition at line 827 of file vec.h.

#define DEF_VEC_FUNC_P (   T)

Definition at line 544 of file vec.h.

#define DEF_VEC_I (   T)
Value:
static inline void VEC_OP (T,must_be_integral_type) (void) \
{ \
(void)~(T)0; \
} \
VEC_T(T); \
struct vec_swallow_trailing_semi
#define VEC_OP(T, OP)
Definition: vec.h:399
#define DEF_VEC_FUNC_P(T)
Definition: vec.h:544
#define DEF_VEC_ALLOC_FUNC_I(T)
Definition: vec.h:440
#define VEC_T(T)
Definition: vec.h:401

Definition at line 410 of file vec.h.

#define DEF_VEC_O (   T)
Value:
VEC_T(T); \
struct vec_swallow_trailing_semi
#define DEF_VEC_FUNC_O(T)
Definition: vec.h:827
#define DEF_VEC_ALLOC_FUNC_O(T)
Definition: vec.h:997
#define VEC_T(T)
Definition: vec.h:401

Definition at line 434 of file vec.h.

#define DEF_VEC_P (   T)
Value:
static inline void VEC_OP (T,must_be_pointer_type) (void) \
{ \
(void)((T)1 == (void *)1); \
} \
VEC_T(T); \
struct vec_swallow_trailing_semi
#define VEC_OP(T, OP)
Definition: vec.h:399
#define DEF_VEC_FUNC_P(T)
Definition: vec.h:544
#define VEC_T(T)
Definition: vec.h:401
#define DEF_VEC_ALLOC_FUNC_P(T)
Definition: vec.h:727

Definition at line 422 of file vec.h.

#define VEC (   T)    VEC_##T

Definition at line 398 of file vec.h.

Referenced by parse_debug_format_options(), and thread_db_load_search().

#define VEC_address (   T,
 
)    (VEC_OP(T,address)(V))

Definition at line 369 of file vec.h.

#define VEC_alloc (   T,
 
)    (VEC_OP(T,alloc)(N))

Definition at line 173 of file vec.h.

#define vec_assert (   expr,
  op 
)
Value:
((void)((expr) ? 0 : (gdb_assert_fail (op, file_, line_, \
FUNCTION_NAME), 0)))
#define gdb_assert_fail(assertion, file, line, function)
Definition: gdb_assert.h:44

Definition at line 394 of file vec.h.

#define VEC_ASSERT_DECL   ,const char *file_,unsigned line_

Definition at line 392 of file vec.h.

#define VEC_ASSERT_INFO   ,__FILE__,__LINE__

Definition at line 391 of file vec.h.

#define VEC_ASSERT_PASS   ,file_,line_

Definition at line 393 of file vec.h.

#define VEC_block_remove (   T,
  V,
  I,
 
)    (VEC_OP(T,block_remove)(V,I,L VEC_ASSERT_INFO))

Definition at line 360 of file vec.h.

#define VEC_cleanup (   T)    (VEC_OP(T,cleanup))

Definition at line 187 of file vec.h.

#define VEC_copy (   T,
 
)    (VEC_OP(T,copy)(V))

Definition at line 206 of file vec.h.

#define VEC_embedded_init (   T,
  O,
 
)    (VEC_OP(T,embedded_init)(VEC_BASE(O),N))

Definition at line 198 of file vec.h.

#define VEC_embedded_size (   T,
 
)    (VEC_OP(T,embedded_size)(N))

Definition at line 197 of file vec.h.

#define VEC_empty (   T,
 
)    (VEC_length (T,V) == 0)

Definition at line 132 of file vec.h.

Referenced by btrace_data_empty().

#define VEC_free (   T,
 
)    (VEC_OP(T,free)(&V))

Definition at line 180 of file vec.h.

Referenced by btrace_data_fini(), and free_char_ptr_vec().

#define vec_free_ (   V)    xfree (V)

Definition at line 389 of file vec.h.

#define VEC_index (   T,
  V,
 
)    (VEC_OP(T,index)(V,I VEC_ASSERT_INFO))

Definition at line 151 of file vec.h.

Referenced by btrace_data_append().

#define VEC_iterate (   T,
  V,
  I,
 
)    (VEC_OP(T,iterate)(V,I,&(P)))
#define VEC_last (   T,
 
)    (VEC_OP(T,last)(V VEC_ASSERT_INFO))

Definition at line 142 of file vec.h.

#define VEC_length (   T,
 
)    (VEC_OP(T,length)(V))

Definition at line 124 of file vec.h.

Referenced by btrace_data_append().

#define VEC_lower_bound (   T,
  V,
  O,
  LT 
)    (VEC_OP(T,lower_bound)(V,O,LT VEC_ASSERT_INFO))

Definition at line 383 of file vec.h.

#define VEC_merge (   T,
  V1,
  V2 
)    (VEC_OP(T,merge)(V1, V2))

Definition at line 213 of file vec.h.

#define VEC_OP (   T,
  OP 
)    VEC_##T##_##OP

Definition at line 399 of file vec.h.

#define VEC_ordered_remove (   T,
  V,
 
)    (VEC_OP(T,ordered_remove)(V,I VEC_ASSERT_INFO))

Definition at line 339 of file vec.h.

#define VEC_pop (   T,
 
)    (VEC_OP(T,pop)(V VEC_ASSERT_INFO))

Definition at line 270 of file vec.h.

#define VEC_quick_insert (   T,
  V,
  I,
 
)    (VEC_OP(T,quick_insert)(V,I,O VEC_ASSERT_INFO))

Definition at line 314 of file vec.h.

#define VEC_quick_push (   T,
  V,
 
)    (VEC_OP(T,quick_push)(V,O VEC_ASSERT_INFO))

Definition at line 249 of file vec.h.

#define VEC_replace (   T,
  V,
  I,
 
)    (VEC_OP(T,replace)(V,I,O VEC_ASSERT_INFO))

Definition at line 302 of file vec.h.

#define VEC_reserve (   T,
  V,
 
)    (VEC_OP(T,reserve)(&(V),R VEC_ASSERT_INFO))

Definition at line 237 of file vec.h.

#define VEC_safe_grow (   T,
  V,
 
)    (VEC_OP(T,safe_grow)(&(V),I VEC_ASSERT_INFO))

Definition at line 288 of file vec.h.

#define VEC_safe_insert (   T,
  V,
  I,
 
)    (VEC_OP(T,safe_insert)(&(V),I,O VEC_ASSERT_INFO))

Definition at line 327 of file vec.h.

#define VEC_safe_push (   T,
  V,
 
)    (VEC_OP(T,safe_push)(&(V),O VEC_ASSERT_INFO))

Definition at line 260 of file vec.h.

Referenced by btrace_data_append(), delim_string_to_char_ptr_vec_append(), and VEC().

#define VEC_space (   T,
  V,
 
)    (VEC_OP(T,space)(V,R VEC_ASSERT_INFO))

Definition at line 225 of file vec.h.

#define VEC_T (   T)
Value:
typedef struct VEC(T) \
{ \
unsigned num; \
unsigned alloc; \
T vec[1]; \
} VEC(T)
#define VEC(T)
Definition: vec.h:398

Definition at line 401 of file vec.h.

#define VEC_truncate (   T,
  V,
 
)    (VEC_OP(T,truncate)(V,I VEC_ASSERT_INFO))

Definition at line 278 of file vec.h.

#define VEC_unordered_remove (   T,
  V,
 
)    (VEC_OP(T,unordered_remove)(V,I VEC_ASSERT_INFO))

Definition at line 351 of file vec.h.

Referenced by unmark_fd_no_cloexec().

Function Documentation

void* vec_o_reserve ( void *  ,
int  ,
size_t  ,
size_t   
)

Definition at line 91 of file vec.c.

References vec_prefix::alloc, calculate_allocation(), vec_prefix::vec, and xrealloc().

Referenced by vec_p_reserve().

void* vec_p_reserve ( void *  ,
int   
)

Definition at line 80 of file vec.c.

References vec_o_reserve().