From c49ab87286d477b9c64258db1fbf94baad5ea1d6 Mon Sep 17 00:00:00 2001 From: Robear Selwans Date: Mon, 31 Jan 2022 19:20:52 +0200 Subject: [PATCH] Fixed svec warnings on MSVC Signed-off-by: Robear Selwans --- ev_vec.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ev_vec.h b/ev_vec.h index faf1cbd..3e78733 100644 --- a/ev_vec.h +++ b/ev_vec.h @@ -126,10 +126,11 @@ ev_vec_init_impl( #define ev_svec_init(T, ...) __ev_svec_init_impl(T, EV_ARRSIZE((T[])__VA_ARGS__), __VA_ARGS__) #define ev_svec_init_w_cap(T, cap) __ev_svec_init_w_cap_impl(T, cap) +#define __ev_svec_structname(T) EV_CAT(EV_CAT(svec_type_##T##_,__COUNTER__),__LINE__) #define __ev_svec_init_impl(T, len, ...) \ - (ev_svec(T))&((struct { \ + (ev_svec(T))&((struct __ev_svec_structname(T) { \ struct ev_vec_meta_t meta; \ - EV_ALIGNAS(EV_ALIGNOF(T)) T data[len]; \ + EV_ALIGNAS(EV_ALIGNOF(T)) T data[len]; \ }) { \ .meta.length = len, \ .meta.capacity = len, \ @@ -140,13 +141,14 @@ ev_vec_init_impl( }).data #define __ev_svec_init_w_cap_impl(T, cap) \ - (ev_svec(T))&((struct { \ + (ev_svec(T))&((struct __ev_svec_structname(T) { \ struct ev_vec_meta_t meta; \ EV_ALIGNAS(EV_ALIGNOF(T)) T data[cap]; \ }) { \ .meta.length = 0, \ .meta.capacity = cap, \ - .meta.typeData = TypeData(T), \ + .meta.typeData.size = sizeof(T), \ + .meta.typeData.alignment = EV_ALIGNOF(T), \ .meta.allocationType = EV_VEC_ALLOCATION_TYPE_STACK, \ .data = { 0 } \ }).data