bf_vector_foreach performs pointer arithmetic on void * ((elem) + (vec)->elem_size and (vec)->data + ...), which is a GCC extension not valid in standard C.
Since vector.h is a public header under include/bpfilter/core/, any downstream consumer using this macro with -pedantic -std=c17 will get a compile error. The pedantic integration test (tests/integration/pedantic_c.sh) includes all public headers with -pedantic-errors -std=c17 -Werror — the macro definition alone won't trigger an error (unexpanded macros aren't compiled), but any call site under those flags will fail.
bf_vector_foreachperforms pointer arithmetic onvoid * ((elem) + (vec)->elem_size and (vec)->data + ...), which is a GCC extension not valid in standard C.Since
vector.his a public header underinclude/bpfilter/core/, any downstream consumer using this macro with-pedantic -std=c17will get a compile error. The pedantic integration test (tests/integration/pedantic_c.sh) includes all public headers with-pedantic-errors -std=c17 -Werror— the macro definition alone won't trigger an error (unexpanded macros aren't compiled), but any call site under those flags will fail.