Re: [PATCH 15/18] fix up vec

Jan Kratochvil
2013-10-13T17:29:29Z

On Wed, 09 Oct 2013 19:17:30 +0200, Ondrej Oprala wrote:
> --- a/gdb/ChangeLog
> +++ b/gdb/ChangeLog
> @@ -17,6 +17,11 @@
>
> 2013-10-09 Tom Tromey <tromey@redhat.com>
>
> + * common/vec.c (vec_p_preserve) : Add typedefs to struct vec_prefix *.

The function is called vec_o_reserve. And it is not 'typedefs', it is 'cast'.

> + * common/vec.h (VEC_OP) : Add typedefs to VEC(T).

Here you should described many modified entries like vec_free_ or
DEF_VEC_ALLOC_FUNC_I.

ChangeLog is not correct, described elsewhere.

> +
> +2013-10-09 Tom Tromey <tromey@redhat.com>
> +
> * block.c (using_direct) : Renamed from using.
> * block.h (using_direct) : Likewise.
>
> diff --git a/gdb/common/vec.c b/gdb/common/vec.c
> index 2a82afb..2890818 100644
> --- a/gdb/common/vec.c
> +++ b/gdb/common/vec.c
> @@ -95,7 +95,7 @@ vec_p_reserve (void *vec, int reserve)
> void *
> vec_o_reserve (void *vec, int reserve, size_t vec_offset, size_t elt_size)
> {
> - struct vec_prefix *pfx = vec;
> + struct vec_prefix *pfx = (struct vec_prefix *) vec;
> unsigned alloc = calculate_allocation (pfx, reserve);
>
> if (!alloc)
> diff --git a/gdb/common/vec.h b/gdb/common/vec.h
> index 86564e7..7669edf 100644
> --- a/gdb/common/vec.h
> +++ b/gdb/common/vec.h
> @@ -391,7 +391,7 @@
> /* Reallocate an array of elements with prefix. */
> extern void *vec_p_reserve (void *, int);
> extern void *vec_o_reserve (void *, int, size_t, size_t);
> -#define vec_free_(V) xfree (V)
> +#define vec_free_(V) xfree ((void *) V)

I find safer here:

#define vec_free_(V) xfree ((void *) (V))

>
> #define VEC_ASSERT_INFO ,__FILE__,__LINE__
> #define VEC_ASSERT_DECL ,const char *file_,unsigned line_
> @@ -501,7 +501,7 @@ static inline void VEC_OP (T,free) \
> static inline void VEC_OP (T,cleanup) \
> (void *arg_) \
> { \
> - VEC(T) **vec_ = arg_; \
> + VEC(T) **vec_ = (VEC(T) **) arg_; \
> if (*vec_) \
> vec_free_ (*vec_); \
> *vec_ = NULL; \
> @@ -748,7 +748,7 @@ static inline void VEC_OP (T,free) \
> static inline void VEC_OP (T,cleanup) \
> (void *arg_) \
> { \
> - VEC(T) **vec_ = arg_; \
> + VEC(T) **vec_ = (VEC(T) **) arg_; \
> if (*vec_) \
> vec_free_ (*vec_); \
> *vec_ = NULL; \
> @@ -1058,7 +1058,7 @@ static inline void VEC_OP (T,free) \
> static inline void VEC_OP (T,cleanup) \
> (void *arg_) \
> { \
> - VEC(T) **vec_ = arg_; \
> + VEC(T) **vec_ = (VEC(T) **) arg_; \
> if (*vec_) \
> vec_free_ (*vec_); \
> *vec_ = NULL; \
> --
> 1.8.3.1

Thanks,
Jan