From 2f25ef33c870869e613b81ee7603b9b7337e48fe Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Fri, 4 May 2018 20:45:41 +0200 Subject: autodetect alignment during _vec_resize Change-Id: I2896dbde78b5d58dc706756f4c76632c303557ae Signed-off-by: Damjan Marion --- src/vppinfra/vec.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/vppinfra/vec.h') diff --git a/src/vppinfra/vec.h b/src/vppinfra/vec.h index a029630559c..f233ae1c48f 100644 --- a/src/vppinfra/vec.h +++ b/src/vppinfra/vec.h @@ -111,10 +111,13 @@ void *vec_resize_allocate_memory (void *v, @return v_prime pointer to resized vector, may or may not equal v */ +#define _vec_resize(V,L,DB,HB,A) \ + _vec_resize_inline(V,L,DB,HB,clib_max((__alignof__((V)[0])),(A))) + always_inline void * -_vec_resize (void *v, - word length_increment, - uword data_bytes, uword header_bytes, uword data_align) +_vec_resize_inline (void *v, + word length_increment, + uword data_bytes, uword header_bytes, uword data_align) { vec_header_t *vh = _vec_find (v); uword new_data_bytes, aligned_header_bytes; -- cgit 1.2.3-korg