Lines Matching refs:groupname
20 #define vla_group(groupname) size_t groupname##__next = 0 argument
21 #define vla_group_size(groupname) groupname##__next argument
23 #define vla_item(groupname, type, name, n) \ argument
24 size_t groupname##_##name##__offset = ({ \
26 if (groupname##__next != SIZE_MAX) { \
29 offset = (groupname##__next + align_mask) & \
32 &groupname##__next)) { \
33 groupname##__next = SIZE_MAX; \
40 #define vla_item_with_sz(groupname, type, name, n) \ argument
41 size_t groupname##_##name##__sz = array_size(n, sizeof(type)); \
42 size_t groupname##_##name##__offset = ({ \
44 if (groupname##__next != SIZE_MAX) { \
46 offset = (groupname##__next + align_mask) & \
48 if (check_add_overflow(offset, groupname##_##name##__sz,\
49 &groupname##__next)) { \
50 groupname##__next = SIZE_MAX; \
57 #define vla_ptr(ptr, groupname, name) \ argument
58 ((void *) ((char *)ptr + groupname##_##name##__offset))