On Wed, Feb 7, 2024 at 9:04 AM Eduard Zingerman <eddyz87@xxxxxxxxx> wrote: > > On Tue, 2024-02-06 at 14:04 -0800, Alexei Starovoitov wrote: > [...] > > > diff --git a/tools/testing/selftests/bpf/bpf_arena_list.h b/tools/testing/selftests/bpf/bpf_arena_list.h > > new file mode 100644 > > index 000000000000..9f34142b0f65 > > --- /dev/null > > +++ b/tools/testing/selftests/bpf/bpf_arena_list.h > > [...] > > > +#ifndef __BPF__ > > +static inline void *bpf_iter_num_new(struct bpf_iter_num *, int, int) { return NULL; } > > +static inline void bpf_iter_num_destroy(struct bpf_iter_num *) {} > > +static inline bool bpf_iter_num_next(struct bpf_iter_num *) { return true; } > > +#endif > > Note: when compiling using current clang 'main' (make test_progs) this reports the following errors: > > In file included from tools/testing/selftests/bpf/prog_tests/arena_list.c:9: > ./bpf_arena_list.h:28:59: error: omitting the parameter name in a function > definition is a C23 extension [-Werror,-Wc23-extensions] > 28 | static inline void *bpf_iter_num_new(struct bpf_iter_num *, int, int) { return NULL; } > ... > > So I had to give parameter names for the above functions. Thanks. Fixed. Too bad gcc 12 didn't catch it.