Test-Label: Intel-compilation Test-Status: FAILURE http://dpdk.org/patch/156139 _Compilation issues_ Submitter: Stephen Hemminger Date: 2025-08-25 03:38:56 Reply_mail: <20250825034126.12046-44-stephen@networkplumber.org> DPDK git baseline: Repo:dpdk, CommitID: 38543d33bd47fc0ee21f59db80a8763620741879 Meson Build Summary: 23 Builds Done, 19 Successful, 4 Failures, 0 Blocked +-------------------+------------+--------------+------------+------------+-----------+----------+------------+ | os | gcc-static | clang-static | icc-static | gcc-shared | gcc-debug | document | gcc-16byte | +-------------------+------------+--------------+------------+------------+-----------+----------+------------+ | OpenAnolis8.10-64 | pass | | | | | | | | FreeBSD14-64 | fail | fail | | fail | fail | | | | RHEL96-64 | pass | pass | | pass | pass | | | | SUSE15-64 | pass | pass | | | | | | | AzureLinux3.0-64 | pass | | | | | | | | UB2404-32 | pass | | | | | | | | RHEL10-64 | pass | | | | | | | | UB2404-64 | pass | pass | | | | pass | pass | | RHEL96-64RT | pass | | | | | | | | UB2504-64 | pass | | | | | | | | FC42-64 | pass | pass | | | | | | | UB2404-64RT | pass | | | | | | | +-------------------+------------+--------------+------------+------------+-----------+----------+------------+ Comments: Because of DPDK bug (https://bugs.dpdk.org/show_bug.cgi?id=928), All the dpdk-next-* branch add `Ddisable_drivers=event/cnxk` option when build with ICC complier. Test environment and configuration as below: OS: OpenAnolis8.10-64 Kernel Version: 5.10.134-18.an8.x86_64 GCC Version: gcc (GCC) 8.5.0 20210514 (Anolis 8.5.0-24.0.1) Clang Version: 18.1.8 (Red Hat 18.1.8-1.0.1.module+an8.9.0+11287+9d0292d3) x86_64-native-linuxapp-gcc OS: FreeBSD14-64 Kernel Version: 14.2-RELEASE GCC Version: gcc (FreeBSD Ports Collection) 13.3.0 Clang Version: 18.1.6 (https://github.com/llvm/llvm-project.git llvmorg-18.1.6-0-g1118c2e05e67) x86_64-native-bsdapp-gcc x86_64-native-bsdapp-clang x86_64-native-bsdapp-gcc+shared x86_64-native-bsdapp-gcc+debug OS: RHEL96-64 Kernel Version: 5.14.0-570.12.1.el9_6.x86_64 GCC Version: gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-5) Clang Version: 19.1.7 (Red Hat, Inc. 19.1.7-2.el9) x86_64-native-linuxapp-gcc x86_64-native-linuxapp-clang x86_64-native-linuxapp-gcc+shared x86_64-native-linuxapp-gcc+debug OS: SUSE15-64 Kernel Version: 6.4.0-150700.51-default GCC Version: gcc (SUSE Linux) 14.2.0 Clang Version: 17.0.6 x86_64-native-linuxapp-clang x86_64-native-linuxapp-gcc OS: AzureLinux3.0-64 Kernel Version: 6.6.47.1-1.azl3 GCC Version: gcc (GCC) 13.2.0 Clang Version: 18.1.2 x86_64-native-linuxapp-gcc OS: UB2404-32 Kernel Version: 6.8.0-41-generic GCC Version: gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 Clang Version: NA i686-native-linuxapp-gcc OS: RHEL10-64 Kernel Version: 6.12.0-55.9.1.el10_0.x86_64 GCC Version: gcc (GCC) 14.2.1 20250110 (Red Hat 14.2.1-7) Clang Version: 19.1.7 (Red Hat, Inc. 19.1.7-2.el10) x86_64-native-linuxapp-gcc OS: UB2404-64 Kernel Version: 6.8.0-41-generic GCC Version: gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 Clang Version: NA x86_64-native-linuxapp-gcc+16byte x86_64-native-linuxapp-gcc x86_64-native-linuxapp-clang x86_64-native-linuxapp-doc OS: RHEL96-64RT Kernel Version: 5.14.0-570.12.1.el9_6.x86_64 GCC Version: gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-5) Clang Version: 19.1.7 (Red Hat, Inc. 19.1.7-2.el9) x86_64-native-linuxapp-gcc OS: UB2504-64 Kernel Version: 6.14.0-15-generic GCC Version: gcc (Ubuntu 14.2.0-19ubuntu2) 14.2.0 Clang Version: NA x86_64-native-linuxapp-gcc OS: FC42-64 Kernel Version: 6.14.0-63.fc42.x86_64 GCC Version: gcc (GCC) 15.0.1 20250329 (Red Hat 15.0.1-0) Clang Version: 20.1.3 (Fedora 20.1.3-1.fc42) x86_64-native-linuxapp-gcc x86_64-native-linuxapp-clang OS: UB2404-64RT Kernel Version: 6.8.0-rt8 GCC Version: gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 Clang Version: NA x86_64-native-linuxapp-gcc *Build Failed #1: OS: FreeBSD14-64 Target: x86_64-native-bsdapp-gcc FAILED: lib/librte_table.a.p/table_rte_swx_table_em.c.o gcc -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mno-avx512f -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -MD -MQ lib/librte_table.a.p/table_rte_swx_table_em.c.o -MF lib/librte_table.a.p/table_rte_swx_table_em.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_em.c.o -c ../lib/table/rte_swx_table_em.c In file included from ../lib/table/rte_swx_table_em.h:13, from ../lib/table/rte_swx_table_em.c:15: ../lib/table/rte_swx_table.h:76:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY' 76 | RTE_TAILQ_ENTRY(rte_swx_table_entry) node; | ^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:119:1: error: data definition has no type or storage class [-Werror] 119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry); | ^~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:119:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int] ../lib/table/rte_swx_table.h:119:1: error: parameter names (without types) in function declaration [-Werror] ../lib/table/rte_swx_table.h:135:41: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 135 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:167:34: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 167 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c: In function 'bkt_key_install': ../lib/table/rte_swx_table_em.c:164:30: error: 'struct rte_swx_table_entry' has no member named 'key' 164 | keycpy(bkt_key, input->key, t->params.key_size); | ^~ ../lib/table/rte_swx_table_em.c:168:28: error: 'struct rte_swx_table_entry' has no member named 'action_id' 168 | bkt_data[0] = input->action_id; | ^~ ../lib/table/rte_swx_table_em.c:169:48: error: 'struct rte_swx_table_entry' has no member named 'action_data' 169 | if (t->params.action_data_size && input->action_data) | ^~ ../lib/table/rte_swx_table_em.c:170:43: error: 'struct rte_swx_table_entry' has no member named 'action_data' 170 | memcpy(&bkt_data[1], input->action_data, t->params.action_data_size); | ^~ ../lib/table/rte_swx_table_em.c: In function 'bkt_key_data_update': ../lib/table/rte_swx_table_em.c:187:28: error: 'struct rte_swx_table_entry' has no member named 'action_id' 187 | bkt_data[0] = input->action_id; | ^~ ../lib/table/rte_swx_table_em.c:188:48: error: 'struct rte_swx_table_entry' has no member named 'action_data' 188 | if (t->params.action_data_size && input->action_data) | ^~ ../lib/table/rte_swx_table_em.c:189:43: error: 'struct rte_swx_table_entry' has no member named 'action_data' 189 | memcpy(&bkt_data[1], input->action_data, t->params.action_data_size); | ^~ ../lib/table/rte_swx_table_em.c: In function 'table_add': ../lib/table/rte_swx_table_em.c:310:20: error: 'struct rte_swx_table_entry' has no member named 'key' 310 | CHECK(entry->key, EINVAL); | ^~ ../lib/table/rte_swx_table_em.c:19:15: note: in definition of macro 'CHECK' 19 | if (!(condition)) \ | ^~~~~~~~~ ../lib/table/rte_swx_table_em.c:312:46: error: 'struct rte_swx_table_entry' has no member named 'key' 312 | input_sig = t->params.hash_func(entry->key, t->params.key_size, 0); | ^~ ../lib/table/rte_swx_table_em.c:320:53: error: 'struct rte_swx_table_entry' has no member named 'key' 320 | if (bkt_keycmp(t, bkt, entry->key, i, input_sig)) { | ^~ ../lib/table/rte_swx_table_em.c: In function 'table_del': ../lib/table/rte_swx_table_em.c:367:20: error: 'struct rte_swx_table_entry' has no member named 'key' 367 | CHECK(entry->key, EINVAL); | ^~ ../lib/table/rte_swx_table_em.c:19:15: note: in definition of macro 'CHECK' 19 | if (!(condition)) \ | ^~~~~~~~~ ../lib/table/rte_swx_table_em.c:369:46: error: 'struct rte_swx_table_entry' has no member named 'key' 369 | input_sig = t->params.hash_func(entry->key, t->params.key_size, 0); | ^~ ../lib/table/rte_swx_table_em.c:377:53: error: 'struct rte_swx_table_entry' has no member named 'key' 377 | if (bkt_keycmp(t, bkt, entry->key, i, input_sig)) { | ^~ ../lib/table/rte_swx_table_em.c: At top level: ../lib/table/rte_swx_table_em.c:606:21: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 606 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c: In function 'table_create': ../lib/table/rte_swx_table_em.c:623:9: error: implicit declaration of function 'TAILQ_FOREACH' [-Werror=implicit-function-declaration] 623 | TAILQ_FOREACH(entry, entries, node) { | ^~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:623:9: error: nested extern declaration of 'TAILQ_FOREACH' [-Werror=nested-externs] ../lib/table/rte_swx_table_em.c:623:39: error: 'node' undeclared (first use in this function) 623 | TAILQ_FOREACH(entry, entries, node) { | ^~~~ ../lib/table/rte_swx_table_em.c:623:39: note: each undeclared identifier is reported only once for each function it appears in ../lib/table/rte_swx_table_em.c:623:44: error: expected ';' before '{' token 623 | TAILQ_FOREACH(entry, entries, node) { | ^~ | ; ../lib/table/rte_swx_table_em.c: At top level: ../lib/table/rte_swx_table_em.c:638:24: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 638 | struct rte_swx_table_entry_list *entries __rte_unused, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:653:26: error: initialization of 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} from incompatible pointer type 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} [-Werror=incompatible-pointer-types] 653 | .footprint_get = table_footprint, | ^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:653:26: note: (near initialization for 'rte_swx_table_exact_match_unoptimized_ops.footprint_get') ../lib/table/rte_swx_table_em.c:655:19: error: initialization of 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' from incompatible pointer type 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Werror=incompatible-pointer-types] 655 | .create = table_create, | ^~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:655:19: note: (near initialization for 'rte_swx_table_exact_match_unoptimized_ops.create') ../lib/table/rte_swx_table_em.c:664:26: error: initialization of 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} from incompatible pointer type 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} [-Werror=incompatible-pointer-types] 664 | .footprint_get = table_footprint, | ^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:664:26: note: (near initialization for 'rte_swx_table_exact_match_ops.footprint_get') ../lib/table/rte_swx_table_em.c:666:19: error: initialization of 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' from incompatible pointer type 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Werror=incompatible-pointer-types] 666 | .create = table_create, | ^~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:666:19: note: (near initialization for 'rte_swx_table_exact_match_ops.create') ../lib/table/rte_swx_table_em.c: In function 'table_create': ../lib/table/rte_swx_table_em.c:634:1: error: control reaches end of non-void function [-Werror=return-type] 634 | } | ^ cc1: all warnings being treated as errors [486/2273] Compiling C object lib/librte_table.a.p/table_rte_swx_table_selector.c.o FAILED: lib/librte_table.a.p/table_rte_swx_table_selector.c.o gcc -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mno-avx512f -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -MD -MQ lib/librte_table.a.p/table_rte_swx_table_selector.c.o -MF lib/librte_table.a.p/table_rte_swx_table_selector.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_selector.c.o -c ../lib/table/rte_swx_table_selector.c In file included from ../lib/table/rte_swx_table_selector.h:18, from ../lib/table/rte_swx_table_selector.c:12: ../lib/table/rte_swx_table.h:76:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY' 76 | RTE_TAILQ_ENTRY(rte_swx_table_entry) node; | ^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:119:1: error: data definition has no type or storage class [-Werror] 119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry); | ^~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:119:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int] ../lib/table/rte_swx_table.h:119:1: error: parameter names (without types) in function declaration [-Werror] ../lib/table/rte_swx_table.h:135:41: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 135 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:167:34: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 167 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_selector.h:58:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY' 58 | RTE_TAILQ_ENTRY(rte_swx_table_selector_member) node; | ^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_selector.h:68:1: error: data definition has no type or storage class [-Werror] 68 | RTE_TAILQ_HEAD(rte_swx_table_selector_member_list, rte_swx_table_selector_member); | ^~~~~~~~~~~~~~ ../lib/table/rte_swx_table_selector.h:68:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int] ../lib/table/rte_swx_table_selector.h:68:1: error: parameter names (without types) in function declaration [-Werror] ../lib/table/rte_swx_table_selector.h:73:51: error: field 'members' has incomplete type 73 | struct rte_swx_table_selector_member_list members; | ^~~~~~~ ../lib/table/rte_swx_table_selector.c: In function 'group_check': ../lib/table/rte_swx_table_selector.c:327:9: error: implicit declaration of function 'TAILQ_FOREACH' [-Werror=implicit-function-declaration] 327 | TAILQ_FOREACH(elem, &group->members, node) { | ^~~~~~~~~~~~~ ../lib/table/rte_swx_table_selector.c:327:9: error: nested extern declaration of 'TAILQ_FOREACH' [-Werror=nested-externs] ../lib/table/rte_swx_table_selector.c:327:46: error: 'node' undeclared (first use in this function) 327 | TAILQ_FOREACH(elem, &group->members, node) { | ^~~~ ../lib/table/rte_swx_table_selector.c:327:46: note: each undeclared identifier is reported only once for each function it appears in ../lib/table/rte_swx_table_selector.c:327:51: error: expected ';' before '{' token 327 | TAILQ_FOREACH(elem, &group->members, node) { | ^~ | ; ../lib/table/rte_swx_table_selector.c:322:18: error: unused variable 'n_members' [-Werror=unused-variable] 322 | uint32_t n_members = 0; | ^~~~~~~~~ ../lib/table/rte_swx_table_selector.c:319:27: error: unused parameter 't' [-Werror=unused-parameter] 319 | group_check(struct table *t, struct rte_swx_table_selector_group *group) | ~~~~~~~~~~~~~~^ ../lib/table/rte_swx_table_selector.c: In function 'members_read': ../lib/table/rte_swx_table_selector.c:365:46: error: 'node' undeclared (first use in this function) 365 | TAILQ_FOREACH(elem, &group->members, node) { | ^~~~ ../lib/table/rte_swx_table_selector.c:365:51: error: expected ';' before '{' token 365 | TAILQ_FOREACH(elem, &group->members, node) { | ^~ | ; ../lib/table/rte_swx_table_selector.c:360:18: error: unused variable 'n_members' [-Werror=unused-variable] 360 | uint32_t n_members = 0; | ^~~~~~~~~ ../lib/table/rte_swx_table_selector.c:356:40: error: unused parameter 'members' [-Werror=unused-parameter] 356 | members_read(struct group_member_info *members, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ ../lib/table/rte_swx_table_selector.c: In function 'group_check': ../lib/table/rte_swx_table_selector.c:353:1: error: control reaches end of non-void function [-Werror=return-type] 353 | } | ^ ../lib/table/rte_swx_table_selector.c: In function 'members_read': ../lib/table/rte_swx_table_selector.c:378:1: error: control reaches end of non-void function [-Werror=return-type] 378 | } | ^ cc1: all warnings being treated as errors [487/2273] Compiling C object lib/librte_table.a.p/table_rte_swx_table_wm.c.o FAILED: lib/librte_table.a.p/table_rte_swx_table_wm.c.o gcc -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -I/usr/local/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mno-avx512f -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -MD -MQ lib/librte_table.a.p/table_rte_swx_table_wm.c.o -MF lib/librte_table.a.p/table_rte_swx_table_wm.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_wm.c.o -c ../lib/table/rte_swx_table_wm.c In file included from ../lib/table/rte_swx_table_wm.h:13, from ../lib/table/rte_swx_table_wm.c:13: ../lib/table/rte_swx_table.h:76:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY' 76 | RTE_TAILQ_ENTRY(rte_swx_table_entry) node; | ^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:119:1: error: data definition has no type or storage class [-Werror] 119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry); | ^~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:119:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int] ../lib/table/rte_swx_table.h:119:1: error: parameter names (without types) in function declaration [-Werror] ../lib/table/rte_swx_table.h:135:41: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 135 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:167:34: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 167 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c:67:22: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 67 | count_entries(struct rte_swx_table_entry_list *entries) | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c: In function 'count_entries': ../lib/table/rte_swx_table_wm.c:75:9: error: implicit declaration of function 'TAILQ_FOREACH' [-Werror=implicit-function-declaration] 75 | TAILQ_FOREACH(entry, entries, node) | ^~~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c:75:9: error: nested extern declaration of 'TAILQ_FOREACH' [-Werror=nested-externs] ../lib/table/rte_swx_table_wm.c:75:39: error: 'node' undeclared (first use in this function) 75 | TAILQ_FOREACH(entry, entries, node) | ^~~~ ../lib/table/rte_swx_table_wm.c:75:39: note: each undeclared identifier is reported only once for each function it appears in ../lib/table/rte_swx_table_wm.c:75:44: error: expected ';' before 'n_entries' 75 | TAILQ_FOREACH(entry, entries, node) | ^ | ; 76 | n_entries++; | ~~~~~~~~~ ../lib/table/rte_swx_table_wm.c: At top level: ../lib/table/rte_swx_table_wm.c:182:16: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 182 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c: In function 'acl_table_rules_get': ../lib/table/rte_swx_table_wm.c:199:39: error: 'node' undeclared (first use in this function) 199 | TAILQ_FOREACH(entry, entries, node) { | ^~~~ ../lib/table/rte_swx_table_wm.c:199:44: error: expected ';' before '{' token 199 | TAILQ_FOREACH(entry, entries, node) { | ^~ | ; ../lib/table/rte_swx_table_wm.c:189:18: error: variable 'rule_id' set but not used [-Werror=unused-but-set-variable] 189 | uint32_t rule_id; | ^~~~~~~ ../lib/table/rte_swx_table_wm.c:188:18: error: unused variable 'n_fields' [-Werror=unused-variable] 188 | uint32_t n_fields = acl_cfg->num_fields; | ^~~~~~~~ ../lib/table/rte_swx_table_wm.c:181:38: error: unused parameter 'p' [-Werror=unused-parameter] 181 | struct rte_swx_table_params *p, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ ../lib/table/rte_swx_table_wm.c: At top level: ../lib/table/rte_swx_table_wm.c:277:16: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 277 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c: In function 'acl_table_create': ../lib/table/rte_swx_table_wm.c:300:55: error: passing argument 3 of 'acl_table_rules_get' from incompatible pointer type [-Werror=incompatible-pointer-types] 300 | acl_table_rules_get(&acl_cfg, params, entries, n_entries) : | ^~~~~~~ | | | struct rte_swx_table_entry_list * ../lib/table/rte_swx_table_wm.c:182:42: note: expected 'struct rte_swx_table_entry_list *' but argument is of type 'struct rte_swx_table_entry_list *' 182 | struct rte_swx_table_entry_list *entries, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ ../lib/table/rte_swx_table_wm.c: At top level: ../lib/table/rte_swx_table_wm.c:342:16: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 342 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c: In function 'entry_data_copy': ../lib/table/rte_swx_table_wm.c:352:39: error: 'node' undeclared (first use in this function) 352 | TAILQ_FOREACH(entry, entries, node) { | ^~~~ ../lib/table/rte_swx_table_wm.c:352:44: error: expected ';' before '{' token 352 | TAILQ_FOREACH(entry, entries, node) { | ^~ | ; ../lib/table/rte_swx_table_wm.c:347:18: error: unused variable 'i' [-Werror=unused-variable] 347 | uint32_t i = 0; | ^ ../lib/table/rte_swx_table_wm.c:341:26: error: unused parameter 'data' [-Werror=unused-parameter] 341 | entry_data_copy(uint8_t *data, | ~~~~~~~~~^~~~ ../lib/table/rte_swx_table_wm.c:344:18: error: unused parameter 'entry_data_size' [-Werror=unused-parameter] 344 | uint32_t entry_data_size) | ~~~~~~~~~^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c: At top level: ../lib/table/rte_swx_table_wm.c:383:21: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 383 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c: In function 'table_create': ../lib/table/rte_swx_table_wm.c:390:44: error: passing argument 1 of 'count_entries' from incompatible pointer type [-Werror=incompatible-pointer-types] 390 | uint32_t n_entries = count_entries(entries); | ^~~~~~~ | | | struct rte_swx_table_entry_list * ../lib/table/rte_swx_table_wm.c:67:48: note: expected 'struct rte_swx_table_entry_list *' but argument is of type 'struct rte_swx_table_entry_list *' 67 | count_entries(struct rte_swx_table_entry_list *entries) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ ../lib/table/rte_swx_table_wm.c:411:47: error: passing argument 2 of 'acl_table_create' from incompatible pointer type [-Werror=incompatible-pointer-types] 411 | t->acl_ctx = acl_table_create(params, entries, n_entries, numa_node); | ^~~~~~~ | | | struct rte_swx_table_entry_list * ../lib/table/rte_swx_table_wm.c:277:42: note: expected 'struct rte_swx_table_entry_list *' but argument is of type 'struct rte_swx_table_entry_list *' 277 | struct rte_swx_table_entry_list *entries, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ ../lib/table/rte_swx_table_wm.c:415:34: error: passing argument 2 of 'entry_data_copy' from incompatible pointer type [-Werror=incompatible-pointer-types] 415 | entry_data_copy(t->data, entries, n_entries, entry_data_size); | ^~~~~~~ | | | struct rte_swx_table_entry_list * ../lib/table/rte_swx_table_wm.c:342:42: note: expected 'struct rte_swx_table_entry_list *' but argument is of type 'struct rte_swx_table_entry_list *' 342 | struct rte_swx_table_entry_list *entries, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ ../lib/table/rte_swx_table_wm.c: At top level: ../lib/table/rte_swx_table_wm.c:465:19: error: initialization of 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' from incompatible pointer type 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Werror=incompatible-pointer-types] 465 | .create = table_create, | ^~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c:465:19: note: (near initialization for 'rte_swx_table_wildcard_match_ops.create') ../lib/table/rte_swx_table_wm.c: In function 'acl_table_rules_get': ../lib/table/rte_swx_table_wm.c:247:1: error: control reaches end of non-void function [-Werror=return-type] 247 | } | ^ ../lib/table/rte_swx_table_wm.c: At top level: ../lib/table/rte_swx_table_wm.c:141:1: error: 'acl_table_rule_field32' defined but not used [-Werror=unused-function] 141 | acl_table_rule_field32(uint32_t *value, | ^~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c:124:1: error: 'acl_table_rule_field8' defined but not used [-Werror=unused-function] 124 | acl_table_rule_field8(uint8_t *value, | ^~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors [488/2273] Generating symbol file lib/librte_fib.so.26.0.p/librte_fib.so.26.0.symbols [489/2273] Compiling C object lib/librte_table.a.p/table_rte_table_array.c.o [490/2273] Compiling C object lib/librte_table.a.p/table_rte_swx_table_learner.c.o [491/2273] Generating lib/port.sym_chk with a custom command (wrapped by meson to capture output) [492/2273] Compiling C object lib/librte_table.a.p/table_rte_table_hash_cuckoo.c.o [493/2273] Compiling C object lib/librte_table.a.p/table_rte_table_acl.c.o [494/2273] Compiling C object lib/librte_pdump.a.p/pdump_rte_pdump.c.o ninja: build stopped *Build Failed #2: OS: FreeBSD14-64 Target: x86_64-native-bsdapp-clang FAILED: lib/librte_table.a.p/table_rte_swx_table_em.c.o clang -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -DRTE_ANNOTATE_LOCKS -Wthread-safety -MD -MQ lib/librte_table.a.p/table_rte_swx_table_em.c.o -MF lib/librte_table.a.p/table_rte_swx_table_em.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_em.c.o -c ../lib/table/rte_swx_table_em.c In file included from ../lib/table/rte_swx_table_em.c:15: In file included from ../lib/table/rte_swx_table_em.h:13: ../lib/table/rte_swx_table.h:76:2: error: type name requires a specifier or qualifier 76 | RTE_TAILQ_ENTRY(rte_swx_table_entry) node; | ^ ../lib/table/rte_swx_table.h:76:18: error: a parameter list without types is only allowed in a function definition 76 | RTE_TAILQ_ENTRY(rte_swx_table_entry) node; | ^ ../lib/table/rte_swx_table.h:76:38: error: expected ';' at end of declaration list 76 | RTE_TAILQ_ENTRY(rte_swx_table_entry) node; | ^ | ; ../lib/table/rte_swx_table.h:119:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Werror,-Wimplicit-int] 119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry); | ^ | int ../lib/table/rte_swx_table.h:119:16: error: a parameter list without types is only allowed in a function definition 119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry); | ^ ../lib/table/rte_swx_table.h:135:13: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility] 135 | struct rte_swx_table_entry_list *entries, | ^ ../lib/table/rte_swx_table.h:167:13: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility] 167 | struct rte_swx_table_entry_list *entries, | ^ ../lib/table/rte_swx_table_em.c:606:14: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility] 606 | struct rte_swx_table_entry_list *entries, | ^ ../lib/table/rte_swx_table_em.c:623:2: error: call to undeclared function 'TAILQ_FOREACH'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] 623 | TAILQ_FOREACH(entry, entries, node) { | ^ ../lib/table/rte_swx_table_em.c:623:37: error: expected ';' after expression 623 | TAILQ_FOREACH(entry, entries, node) { | ^ | ; ../lib/table/rte_swx_table_em.c:623:32: error: use of undeclared identifier 'node' 623 | TAILQ_FOREACH(entry, entries, node) { | ^ ../lib/table/rte_swx_table_em.c:638:10: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility] 638 | struct rte_swx_table_entry_list *entries __rte_unused, | ^ ../lib/table/rte_swx_table_em.c:653:19: error: incompatible function pointer types initializing 'rte_swx_table_footprint_get_t' (aka 'unsigned long (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)') with an expression of type 'uint64_t (struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' (aka 'unsigned long (struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)') [-Wincompatible-function-pointer-types] 653 | .footprint_get = table_footprint, | ^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:655:12: error: incompatible function pointer types initializing 'rte_swx_table_create_t' (aka 'void *(*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)') with an expression of type 'void *(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Wincompatible-function-pointer-types] 655 | .create = table_create, | ^~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:664:19: error: incompatible function pointer types initializing 'rte_swx_table_footprint_get_t' (aka 'unsigned long (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)') with an expression of type 'uint64_t (struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' (aka 'unsigned long (struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)') [-Wincompatible-function-pointer-types] 664 | .footprint_get = table_footprint, | ^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:666:12: error: incompatible function pointer types initializing 'rte_swx_table_create_t' (aka 'void *(*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)') with an expression of type 'void *(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Wincompatible-function-pointer-types] 666 | .create = table_create, | ^~~~~~~~~~~~ 16 errors generated. [495/2255] Compiling C object lib/librte_table.a.p/table_rte_swx_table_selector.c.o FAILED: lib/librte_table.a.p/table_rte_swx_table_selector.c.o clang -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -DRTE_ANNOTATE_LOCKS -Wthread-safety -MD -MQ lib/librte_table.a.p/table_rte_swx_table_selector.c.o -MF lib/librte_table.a.p/table_rte_swx_table_selector.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_selector.c.o -c ../lib/table/rte_swx_table_selector.c In file included from ../lib/table/rte_swx_table_selector.c:12: In file included from ../lib/table/rte_swx_table_selector.h:18: ../lib/table/rte_swx_table.h:76:2: error: type name requires a specifier or qualifier 76 | RTE_TAILQ_ENTRY(rte_swx_table_entry) node; | ^ ../lib/table/rte_swx_table.h:76:18: error: a parameter list without types is only allowed in a function definition 76 | RTE_TAILQ_ENTRY(rte_swx_table_entry) node; | ^ ../lib/table/rte_swx_table.h:76:38: error: expected ';' at end of declaration list 76 | RTE_TAILQ_ENTRY(rte_swx_table_entry) node; | ^ | ; ../lib/table/rte_swx_table.h:119:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Werror,-Wimplicit-int] 119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry); | ^ | int ../lib/table/rte_swx_table.h:119:16: error: a parameter list without types is only allowed in a function definition 119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry); | ^ ../lib/table/rte_swx_table.h:135:13: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility] 135 | struct rte_swx_table_entry_list *entries, | ^ ../lib/table/rte_swx_table.h:167:13: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility] 167 | struct rte_swx_table_entry_list *entries, | ^ In file included from ../lib/table/rte_swx_table_selector.c:12: ../lib/table/rte_swx_table_selector.h:58:2: error: type name requires a specifier or qualifier 58 | RTE_TAILQ_ENTRY(rte_swx_table_selector_member) node; | ^ ../lib/table/rte_swx_table_selector.h:58:18: error: a parameter list without types is only allowed in a function definition 58 | RTE_TAILQ_ENTRY(rte_swx_table_selector_member) node; | ^ ../lib/table/rte_swx_table_selector.h:58:48: error: expected ';' at end of declaration list 58 | RTE_TAILQ_ENTRY(rte_swx_table_selector_member) node; | ^ | ; ../lib/table/rte_swx_table_selector.h:68:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Werror,-Wimplicit-int] 68 | RTE_TAILQ_HEAD(rte_swx_table_selector_member_list, rte_swx_table_selector_member); | ^ | int ../lib/table/rte_swx_table_selector.h:68:16: error: a parameter list without types is only allowed in a function definition 68 | RTE_TAILQ_HEAD(rte_swx_table_selector_member_list, rte_swx_table_selector_member); | ^ ../lib/table/rte_swx_table_selector.h:73:44: error: field has incomplete type 'struct rte_swx_table_selector_member_list' 73 | struct rte_swx_table_selector_member_list members; | ^ ../lib/table/rte_swx_table_selector.h:73:9: note: forward declaration of 'struct rte_swx_table_selector_member_list' 73 | struct rte_swx_table_selector_member_list members; | ^ ../lib/table/rte_swx_table_selector.c:327:2: error: call to undeclared function 'TAILQ_FOREACH'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] 327 | TAILQ_FOREACH(elem, &group->members, node) { | ^ ../lib/table/rte_swx_table_selector.c:327:44: error: expected ';' after expression 327 | TAILQ_FOREACH(elem, &group->members, node) { | ^ | ; ../lib/table/rte_swx_table_selector.c:327:39: error: use of undeclared identifier 'node' 327 | TAILQ_FOREACH(elem, &group->members, node) { | ^ ../lib/table/rte_swx_table_selector.c:341:42: error: expected ';' after expression 341 | TAILQ_FOREACH(e, &group->members, node) | ^ | ; ../lib/table/rte_swx_table_selector.c:341:37: error: use of undeclared identifier 'node' 341 | TAILQ_FOREACH(e, &group->members, node) | ^ ../lib/table/rte_swx_table_selector.c:365:2: error: call to undeclared function 'TAILQ_FOREACH'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] 365 | TAILQ_FOREACH(elem, &group->members, node) { | ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. [496/2255] Compiling C object lib/librte_table.a.p/table_rte_swx_table_wm.c.o FAILED: lib/librte_table.a.p/table_rte_swx_table_wm.c.o clang -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -fcolor-diagnostics -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -DRTE_ANNOTATE_LOCKS -Wthread-safety -MD -MQ lib/librte_table.a.p/table_rte_swx_table_wm.c.o -MF lib/librte_table.a.p/table_rte_swx_table_wm.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_wm.c.o -c ../lib/table/rte_swx_table_wm.c In file included from ../lib/table/rte_swx_table_wm.c:13: In file included from ../lib/table/rte_swx_table_wm.h:13: ../lib/table/rte_swx_table.h:76:2: error: type name requires a specifier or qualifier 76 | RTE_TAILQ_ENTRY(rte_swx_table_entry) node; | ^ ../lib/table/rte_swx_table.h:76:18: error: a parameter list without types is only allowed in a function definition 76 | RTE_TAILQ_ENTRY(rte_swx_table_entry) node; | ^ ../lib/table/rte_swx_table.h:76:38: error: expected ';' at end of declaration list 76 | RTE_TAILQ_ENTRY(rte_swx_table_entry) node; | ^ | ; ../lib/table/rte_swx_table.h:119:1: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Werror,-Wimplicit-int] 119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry); | ^ | int ../lib/table/rte_swx_table.h:119:16: error: a parameter list without types is only allowed in a function definition 119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry); | ^ ../lib/table/rte_swx_table.h:135:13: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility] 135 | struct rte_swx_table_entry_list *entries, | ^ ../lib/table/rte_swx_table.h:167:13: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility] 167 | struct rte_swx_table_entry_list *entries, | ^ ../lib/table/rte_swx_table_wm.c:67:22: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility] 67 | count_entries(struct rte_swx_table_entry_list *entries) | ^ ../lib/table/rte_swx_table_wm.c:75:2: error: call to undeclared function 'TAILQ_FOREACH'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] 75 | TAILQ_FOREACH(entry, entries, node) | ^ ../lib/table/rte_swx_table_wm.c:75:37: error: expected ';' after expression 75 | TAILQ_FOREACH(entry, entries, node) | ^ | ; ../lib/table/rte_swx_table_wm.c:75:32: error: use of undeclared identifier 'node' 75 | TAILQ_FOREACH(entry, entries, node) | ^ ../lib/table/rte_swx_table_wm.c:182:9: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility] 182 | struct rte_swx_table_entry_list *entries, | ^ ../lib/table/rte_swx_table_wm.c:199:2: error: call to undeclared function 'TAILQ_FOREACH'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] 199 | TAILQ_FOREACH(entry, entries, node) { | ^ ../lib/table/rte_swx_table_wm.c:199:37: error: expected ';' after expression 199 | TAILQ_FOREACH(entry, entries, node) { | ^ | ; ../lib/table/rte_swx_table_wm.c:199:32: error: use of undeclared identifier 'node' 199 | TAILQ_FOREACH(entry, entries, node) { | ^ ../lib/table/rte_swx_table_wm.c:277:9: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility] 277 | struct rte_swx_table_entry_list *entries, | ^ ../lib/table/rte_swx_table_wm.c:300:41: error: incompatible pointer types passing 'struct rte_swx_table_entry_list *' to parameter of type 'struct rte_swx_table_entry_list *' [-Werror,-Wincompatible-pointer-types] 300 | acl_table_rules_get(&acl_cfg, params, entries, n_entries) : | ^~~~~~~ ../lib/table/rte_swx_table_wm.c:182:35: note: passing argument to parameter 'entries' here 182 | struct rte_swx_table_entry_list *entries, | ^ ../lib/table/rte_swx_table_wm.c:342:9: error: declaration of 'struct rte_swx_table_entry_list' will not be visible outside of this function [-Werror,-Wvisibility] 342 | struct rte_swx_table_entry_list *entries, | ^ ../lib/table/rte_swx_table_wm.c:352:2: error: call to undeclared function 'TAILQ_FOREACH'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] 352 | TAILQ_FOREACH(entry, entries, node) { | ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. [497/2255] Compiling C object lib/librte_table.a.p/table_rte_swx_table_learner.c.o [498/2255] Compiling C object lib/librte_table.a.p/table_rte_table_array.c.o [499/2255] Compiling C object lib/librte_table.a.p/table_rte_table_acl.c.o [500/2255] Generating lib/port.sym_chk with a custom command (wrapped by meson to capture output) [501/2255] Compiling C object lib/librte_table.a.p/table_rte_table_hash_cuckoo.c.o [502/2255] Compiling C object lib/librte_pdump.a.p/pdump_rte_pdump.c.o [503/2255] Generating symbol file lib/librte_fib.so.26.0.p/librte_fib.so.26.0.symbols ninja: build stopped *Build Failed #3: OS: FreeBSD14-64 Target: x86_64-native-bsdapp-gcc+shared FAILED: lib/librte_table.a.p/table_rte_swx_table_selector.c.o gcc -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mno-avx512f -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -MD -MQ lib/librte_table.a.p/table_rte_swx_table_selector.c.o -MF lib/librte_table.a.p/table_rte_swx_table_selector.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_selector.c.o -c ../lib/table/rte_swx_table_selector.c In file included from ../lib/table/rte_swx_table_selector.h:18, from ../lib/table/rte_swx_table_selector.c:12: ../lib/table/rte_swx_table.h:76:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY' 76 | RTE_TAILQ_ENTRY(rte_swx_table_entry) node; | ^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:119:1: error: data definition has no type or storage class [-Werror] 119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry); | ^~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:119:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int] ../lib/table/rte_swx_table.h:119:1: error: parameter names (without types) in function declaration [-Werror] ../lib/table/rte_swx_table.h:135:41: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 135 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:167:34: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 167 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_selector.h:58:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY' 58 | RTE_TAILQ_ENTRY(rte_swx_table_selector_member) node; | ^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_selector.h:68:1: error: data definition has no type or storage class [-Werror] 68 | RTE_TAILQ_HEAD(rte_swx_table_selector_member_list, rte_swx_table_selector_member); | ^~~~~~~~~~~~~~ ../lib/table/rte_swx_table_selector.h:68:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int] ../lib/table/rte_swx_table_selector.h:68:1: error: parameter names (without types) in function declaration [-Werror] ../lib/table/rte_swx_table_selector.h:73:51: error: field 'members' has incomplete type 73 | struct rte_swx_table_selector_member_list members; | ^~~~~~~ ../lib/table/rte_swx_table_selector.c: In function 'group_check': ../lib/table/rte_swx_table_selector.c:327:9: error: implicit declaration of function 'TAILQ_FOREACH' [-Werror=implicit-function-declaration] 327 | TAILQ_FOREACH(elem, &group->members, node) { | ^~~~~~~~~~~~~ ../lib/table/rte_swx_table_selector.c:327:9: error: nested extern declaration of 'TAILQ_FOREACH' [-Werror=nested-externs] ../lib/table/rte_swx_table_selector.c:327:46: error: 'node' undeclared (first use in this function) 327 | TAILQ_FOREACH(elem, &group->members, node) { | ^~~~ ../lib/table/rte_swx_table_selector.c:327:46: note: each undeclared identifier is reported only once for each function it appears in ../lib/table/rte_swx_table_selector.c:327:51: error: expected ';' before '{' token 327 | TAILQ_FOREACH(elem, &group->members, node) { | ^~ | ; ../lib/table/rte_swx_table_selector.c:322:18: error: unused variable 'n_members' [-Werror=unused-variable] 322 | uint32_t n_members = 0; | ^~~~~~~~~ ../lib/table/rte_swx_table_selector.c:319:27: error: unused parameter 't' [-Werror=unused-parameter] 319 | group_check(struct table *t, struct rte_swx_table_selector_group *group) | ~~~~~~~~~~~~~~^ ../lib/table/rte_swx_table_selector.c: In function 'members_read': ../lib/table/rte_swx_table_selector.c:365:46: error: 'node' undeclared (first use in this function) 365 | TAILQ_FOREACH(elem, &group->members, node) { | ^~~~ ../lib/table/rte_swx_table_selector.c:365:51: error: expected ';' before '{' token 365 | TAILQ_FOREACH(elem, &group->members, node) { | ^~ | ; ../lib/table/rte_swx_table_selector.c:360:18: error: unused variable 'n_members' [-Werror=unused-variable] 360 | uint32_t n_members = 0; | ^~~~~~~~~ ../lib/table/rte_swx_table_selector.c:356:40: error: unused parameter 'members' [-Werror=unused-parameter] 356 | members_read(struct group_member_info *members, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ ../lib/table/rte_swx_table_selector.c: In function 'group_check': ../lib/table/rte_swx_table_selector.c:353:1: error: control reaches end of non-void function [-Werror=return-type] 353 | } | ^ ../lib/table/rte_swx_table_selector.c: In function 'members_read': ../lib/table/rte_swx_table_selector.c:378:1: error: control reaches end of non-void function [-Werror=return-type] 378 | } | ^ cc1: all warnings being treated as errors [495/2125] Compiling C object lib/librte_table.a.p/table_rte_swx_table_em.c.o FAILED: lib/librte_table.a.p/table_rte_swx_table_em.c.o gcc -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mno-avx512f -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -MD -MQ lib/librte_table.a.p/table_rte_swx_table_em.c.o -MF lib/librte_table.a.p/table_rte_swx_table_em.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_em.c.o -c ../lib/table/rte_swx_table_em.c In file included from ../lib/table/rte_swx_table_em.h:13, from ../lib/table/rte_swx_table_em.c:15: ../lib/table/rte_swx_table.h:76:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY' 76 | RTE_TAILQ_ENTRY(rte_swx_table_entry) node; | ^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:119:1: error: data definition has no type or storage class [-Werror] 119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry); | ^~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:119:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int] ../lib/table/rte_swx_table.h:119:1: error: parameter names (without types) in function declaration [-Werror] ../lib/table/rte_swx_table.h:135:41: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 135 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:167:34: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 167 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c: In function 'bkt_key_install': ../lib/table/rte_swx_table_em.c:164:30: error: 'struct rte_swx_table_entry' has no member named 'key' 164 | keycpy(bkt_key, input->key, t->params.key_size); | ^~ ../lib/table/rte_swx_table_em.c:168:28: error: 'struct rte_swx_table_entry' has no member named 'action_id' 168 | bkt_data[0] = input->action_id; | ^~ ../lib/table/rte_swx_table_em.c:169:48: error: 'struct rte_swx_table_entry' has no member named 'action_data' 169 | if (t->params.action_data_size && input->action_data) | ^~ ../lib/table/rte_swx_table_em.c:170:43: error: 'struct rte_swx_table_entry' has no member named 'action_data' 170 | memcpy(&bkt_data[1], input->action_data, t->params.action_data_size); | ^~ ../lib/table/rte_swx_table_em.c: In function 'bkt_key_data_update': ../lib/table/rte_swx_table_em.c:187:28: error: 'struct rte_swx_table_entry' has no member named 'action_id' 187 | bkt_data[0] = input->action_id; | ^~ ../lib/table/rte_swx_table_em.c:188:48: error: 'struct rte_swx_table_entry' has no member named 'action_data' 188 | if (t->params.action_data_size && input->action_data) | ^~ ../lib/table/rte_swx_table_em.c:189:43: error: 'struct rte_swx_table_entry' has no member named 'action_data' 189 | memcpy(&bkt_data[1], input->action_data, t->params.action_data_size); | ^~ ../lib/table/rte_swx_table_em.c: In function 'table_add': ../lib/table/rte_swx_table_em.c:310:20: error: 'struct rte_swx_table_entry' has no member named 'key' 310 | CHECK(entry->key, EINVAL); | ^~ ../lib/table/rte_swx_table_em.c:19:15: note: in definition of macro 'CHECK' 19 | if (!(condition)) \ | ^~~~~~~~~ ../lib/table/rte_swx_table_em.c:312:46: error: 'struct rte_swx_table_entry' has no member named 'key' 312 | input_sig = t->params.hash_func(entry->key, t->params.key_size, 0); | ^~ ../lib/table/rte_swx_table_em.c:320:53: error: 'struct rte_swx_table_entry' has no member named 'key' 320 | if (bkt_keycmp(t, bkt, entry->key, i, input_sig)) { | ^~ ../lib/table/rte_swx_table_em.c: In function 'table_del': ../lib/table/rte_swx_table_em.c:367:20: error: 'struct rte_swx_table_entry' has no member named 'key' 367 | CHECK(entry->key, EINVAL); | ^~ ../lib/table/rte_swx_table_em.c:19:15: note: in definition of macro 'CHECK' 19 | if (!(condition)) \ | ^~~~~~~~~ ../lib/table/rte_swx_table_em.c:369:46: error: 'struct rte_swx_table_entry' has no member named 'key' 369 | input_sig = t->params.hash_func(entry->key, t->params.key_size, 0); | ^~ ../lib/table/rte_swx_table_em.c:377:53: error: 'struct rte_swx_table_entry' has no member named 'key' 377 | if (bkt_keycmp(t, bkt, entry->key, i, input_sig)) { | ^~ ../lib/table/rte_swx_table_em.c: At top level: ../lib/table/rte_swx_table_em.c:606:21: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 606 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c: In function 'table_create': ../lib/table/rte_swx_table_em.c:623:9: error: implicit declaration of function 'TAILQ_FOREACH' [-Werror=implicit-function-declaration] 623 | TAILQ_FOREACH(entry, entries, node) { | ^~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:623:9: error: nested extern declaration of 'TAILQ_FOREACH' [-Werror=nested-externs] ../lib/table/rte_swx_table_em.c:623:39: error: 'node' undeclared (first use in this function) 623 | TAILQ_FOREACH(entry, entries, node) { | ^~~~ ../lib/table/rte_swx_table_em.c:623:39: note: each undeclared identifier is reported only once for each function it appears in ../lib/table/rte_swx_table_em.c:623:44: error: expected ';' before '{' token 623 | TAILQ_FOREACH(entry, entries, node) { | ^~ | ; ../lib/table/rte_swx_table_em.c: At top level: ../lib/table/rte_swx_table_em.c:638:24: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 638 | struct rte_swx_table_entry_list *entries __rte_unused, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:653:26: error: initialization of 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} from incompatible pointer type 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} [-Werror=incompatible-pointer-types] 653 | .footprint_get = table_footprint, | ^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:653:26: note: (near initialization for 'rte_swx_table_exact_match_unoptimized_ops.footprint_get') ../lib/table/rte_swx_table_em.c:655:19: error: initialization of 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' from incompatible pointer type 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Werror=incompatible-pointer-types] 655 | .create = table_create, | ^~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:655:19: note: (near initialization for 'rte_swx_table_exact_match_unoptimized_ops.create') ../lib/table/rte_swx_table_em.c:664:26: error: initialization of 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} from incompatible pointer type 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} [-Werror=incompatible-pointer-types] 664 | .footprint_get = table_footprint, | ^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:664:26: note: (near initialization for 'rte_swx_table_exact_match_ops.footprint_get') ../lib/table/rte_swx_table_em.c:666:19: error: initialization of 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' from incompatible pointer type 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Werror=incompatible-pointer-types] 666 | .create = table_create, | ^~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:666:19: note: (near initialization for 'rte_swx_table_exact_match_ops.create') ../lib/table/rte_swx_table_em.c: In function 'table_create': ../lib/table/rte_swx_table_em.c:634:1: error: control reaches end of non-void function [-Werror=return-type] 634 | } | ^ cc1: all warnings being treated as errors [496/2125] Compiling C object lib/librte_port.a.p/port_rte_swx_port_ring.c.o [497/2125] Compiling C object lib/librte_table.a.p/table_rte_swx_table_learner.c.o [498/2125] Compiling C object lib/librte_port.a.p/port_rte_swx_port_source_sink.c.o [499/2125] Compiling C object lib/librte_table.a.p/table_rte_swx_keycmp.c.o [500/2125] Compiling C object lib/librte_port.a.p/port_rte_port_ring.c.o [501/2125] Generating symbol file lib/librte_fib.so.26.0.p/librte_fib.so.26.0.symbols [502/2125] Generating symbol file lib/librte_pdcp.so.26.0.p/librte_pdcp.so.26.0.symbols [503/2125] Compiling C object lib/librte_pdump.a.p/pdump_rte_pdump.c.o ninja: build stopped *Build Failed #4: OS: FreeBSD14-64 Target: x86_64-native-bsdapp-gcc+debug FAILED: lib/librte_table.a.p/table_rte_swx_table_wm.c.o gcc -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O2 -g -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mno-avx512f -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -MD -MQ lib/librte_table.a.p/table_rte_swx_table_wm.c.o -MF lib/librte_table.a.p/table_rte_swx_table_wm.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_wm.c.o -c ../lib/table/rte_swx_table_wm.c In file included from ../lib/table/rte_swx_table_wm.h:13, from ../lib/table/rte_swx_table_wm.c:13: ../lib/table/rte_swx_table.h:76:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY' 76 | RTE_TAILQ_ENTRY(rte_swx_table_entry) node; | ^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:119:1: error: data definition has no type or storage class [-Werror] 119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry); | ^~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:119:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int] ../lib/table/rte_swx_table.h:119:1: error: parameter names (without types) in function declaration [-Werror] ../lib/table/rte_swx_table.h:135:41: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 135 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:167:34: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 167 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c:67:22: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 67 | count_entries(struct rte_swx_table_entry_list *entries) | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c: In function 'count_entries': ../lib/table/rte_swx_table_wm.c:75:9: error: implicit declaration of function 'TAILQ_FOREACH' [-Werror=implicit-function-declaration] 75 | TAILQ_FOREACH(entry, entries, node) | ^~~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c:75:9: error: nested extern declaration of 'TAILQ_FOREACH' [-Werror=nested-externs] ../lib/table/rte_swx_table_wm.c:75:39: error: 'node' undeclared (first use in this function) 75 | TAILQ_FOREACH(entry, entries, node) | ^~~~ ../lib/table/rte_swx_table_wm.c:75:39: note: each undeclared identifier is reported only once for each function it appears in ../lib/table/rte_swx_table_wm.c:75:44: error: expected ';' before 'n_entries' 75 | TAILQ_FOREACH(entry, entries, node) | ^ | ; 76 | n_entries++; | ~~~~~~~~~ ../lib/table/rte_swx_table_wm.c: At top level: ../lib/table/rte_swx_table_wm.c:182:16: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 182 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c: In function 'acl_table_rules_get': ../lib/table/rte_swx_table_wm.c:199:39: error: 'node' undeclared (first use in this function) 199 | TAILQ_FOREACH(entry, entries, node) { | ^~~~ ../lib/table/rte_swx_table_wm.c:199:44: error: expected ';' before '{' token 199 | TAILQ_FOREACH(entry, entries, node) { | ^~ | ; ../lib/table/rte_swx_table_wm.c:189:18: error: variable 'rule_id' set but not used [-Werror=unused-but-set-variable] 189 | uint32_t rule_id; | ^~~~~~~ ../lib/table/rte_swx_table_wm.c:188:18: error: unused variable 'n_fields' [-Werror=unused-variable] 188 | uint32_t n_fields = acl_cfg->num_fields; | ^~~~~~~~ ../lib/table/rte_swx_table_wm.c:181:38: error: unused parameter 'p' [-Werror=unused-parameter] 181 | struct rte_swx_table_params *p, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ ../lib/table/rte_swx_table_wm.c: At top level: ../lib/table/rte_swx_table_wm.c:277:16: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 277 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c: In function 'acl_table_create': ../lib/table/rte_swx_table_wm.c:300:55: error: passing argument 3 of 'acl_table_rules_get' from incompatible pointer type [-Werror=incompatible-pointer-types] 300 | acl_table_rules_get(&acl_cfg, params, entries, n_entries) : | ^~~~~~~ | | | struct rte_swx_table_entry_list * ../lib/table/rte_swx_table_wm.c:182:42: note: expected 'struct rte_swx_table_entry_list *' but argument is of type 'struct rte_swx_table_entry_list *' 182 | struct rte_swx_table_entry_list *entries, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ ../lib/table/rte_swx_table_wm.c: At top level: ../lib/table/rte_swx_table_wm.c:342:16: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 342 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c: In function 'entry_data_copy': ../lib/table/rte_swx_table_wm.c:352:39: error: 'node' undeclared (first use in this function) 352 | TAILQ_FOREACH(entry, entries, node) { | ^~~~ ../lib/table/rte_swx_table_wm.c:352:44: error: expected ';' before '{' token 352 | TAILQ_FOREACH(entry, entries, node) { | ^~ | ; ../lib/table/rte_swx_table_wm.c:347:18: error: unused variable 'i' [-Werror=unused-variable] 347 | uint32_t i = 0; | ^ ../lib/table/rte_swx_table_wm.c:341:26: error: unused parameter 'data' [-Werror=unused-parameter] 341 | entry_data_copy(uint8_t *data, | ~~~~~~~~~^~~~ ../lib/table/rte_swx_table_wm.c:344:18: error: unused parameter 'entry_data_size' [-Werror=unused-parameter] 344 | uint32_t entry_data_size) | ~~~~~~~~~^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c: At top level: ../lib/table/rte_swx_table_wm.c:383:21: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 383 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c: In function 'table_create': ../lib/table/rte_swx_table_wm.c:390:44: error: passing argument 1 of 'count_entries' from incompatible pointer type [-Werror=incompatible-pointer-types] 390 | uint32_t n_entries = count_entries(entries); | ^~~~~~~ | | | struct rte_swx_table_entry_list * ../lib/table/rte_swx_table_wm.c:67:48: note: expected 'struct rte_swx_table_entry_list *' but argument is of type 'struct rte_swx_table_entry_list *' 67 | count_entries(struct rte_swx_table_entry_list *entries) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ ../lib/table/rte_swx_table_wm.c:411:47: error: passing argument 2 of 'acl_table_create' from incompatible pointer type [-Werror=incompatible-pointer-types] 411 | t->acl_ctx = acl_table_create(params, entries, n_entries, numa_node); | ^~~~~~~ | | | struct rte_swx_table_entry_list * ../lib/table/rte_swx_table_wm.c:277:42: note: expected 'struct rte_swx_table_entry_list *' but argument is of type 'struct rte_swx_table_entry_list *' 277 | struct rte_swx_table_entry_list *entries, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ ../lib/table/rte_swx_table_wm.c:415:34: error: passing argument 2 of 'entry_data_copy' from incompatible pointer type [-Werror=incompatible-pointer-types] 415 | entry_data_copy(t->data, entries, n_entries, entry_data_size); | ^~~~~~~ | | | struct rte_swx_table_entry_list * ../lib/table/rte_swx_table_wm.c:342:42: note: expected 'struct rte_swx_table_entry_list *' but argument is of type 'struct rte_swx_table_entry_list *' 342 | struct rte_swx_table_entry_list *entries, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ ../lib/table/rte_swx_table_wm.c: At top level: ../lib/table/rte_swx_table_wm.c:465:19: error: initialization of 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' from incompatible pointer type 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Werror=incompatible-pointer-types] 465 | .create = table_create, | ^~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c:465:19: note: (near initialization for 'rte_swx_table_wildcard_match_ops.create') ../lib/table/rte_swx_table_wm.c: In function 'acl_table_rules_get': ../lib/table/rte_swx_table_wm.c:247:1: error: control reaches end of non-void function [-Werror=return-type] 247 | } | ^ ../lib/table/rte_swx_table_wm.c: At top level: ../lib/table/rte_swx_table_wm.c:141:1: error: 'acl_table_rule_field32' defined but not used [-Werror=unused-function] 141 | acl_table_rule_field32(uint32_t *value, | ^~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_wm.c:124:1: error: 'acl_table_rule_field8' defined but not used [-Werror=unused-function] 124 | acl_table_rule_field8(uint8_t *value, | ^~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors [488/2236] Compiling C object lib/librte_table.a.p/table_rte_swx_table_selector.c.o FAILED: lib/librte_table.a.p/table_rte_swx_table_selector.c.o gcc -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O2 -g -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mno-avx512f -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -MD -MQ lib/librte_table.a.p/table_rte_swx_table_selector.c.o -MF lib/librte_table.a.p/table_rte_swx_table_selector.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_selector.c.o -c ../lib/table/rte_swx_table_selector.c In file included from ../lib/table/rte_swx_table_selector.h:18, from ../lib/table/rte_swx_table_selector.c:12: ../lib/table/rte_swx_table.h:76:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY' 76 | RTE_TAILQ_ENTRY(rte_swx_table_entry) node; | ^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:119:1: error: data definition has no type or storage class [-Werror] 119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry); | ^~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:119:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int] ../lib/table/rte_swx_table.h:119:1: error: parameter names (without types) in function declaration [-Werror] ../lib/table/rte_swx_table.h:135:41: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 135 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:167:34: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 167 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_selector.h:58:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY' 58 | RTE_TAILQ_ENTRY(rte_swx_table_selector_member) node; | ^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_selector.h:68:1: error: data definition has no type or storage class [-Werror] 68 | RTE_TAILQ_HEAD(rte_swx_table_selector_member_list, rte_swx_table_selector_member); | ^~~~~~~~~~~~~~ ../lib/table/rte_swx_table_selector.h:68:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int] ../lib/table/rte_swx_table_selector.h:68:1: error: parameter names (without types) in function declaration [-Werror] ../lib/table/rte_swx_table_selector.h:73:51: error: field 'members' has incomplete type 73 | struct rte_swx_table_selector_member_list members; | ^~~~~~~ ../lib/table/rte_swx_table_selector.c: In function 'group_check': ../lib/table/rte_swx_table_selector.c:327:9: error: implicit declaration of function 'TAILQ_FOREACH' [-Werror=implicit-function-declaration] 327 | TAILQ_FOREACH(elem, &group->members, node) { | ^~~~~~~~~~~~~ ../lib/table/rte_swx_table_selector.c:327:9: error: nested extern declaration of 'TAILQ_FOREACH' [-Werror=nested-externs] ../lib/table/rte_swx_table_selector.c:327:46: error: 'node' undeclared (first use in this function) 327 | TAILQ_FOREACH(elem, &group->members, node) { | ^~~~ ../lib/table/rte_swx_table_selector.c:327:46: note: each undeclared identifier is reported only once for each function it appears in ../lib/table/rte_swx_table_selector.c:327:51: error: expected ';' before '{' token 327 | TAILQ_FOREACH(elem, &group->members, node) { | ^~ | ; ../lib/table/rte_swx_table_selector.c:322:18: error: unused variable 'n_members' [-Werror=unused-variable] 322 | uint32_t n_members = 0; | ^~~~~~~~~ ../lib/table/rte_swx_table_selector.c:319:27: error: unused parameter 't' [-Werror=unused-parameter] 319 | group_check(struct table *t, struct rte_swx_table_selector_group *group) | ~~~~~~~~~~~~~~^ ../lib/table/rte_swx_table_selector.c: In function 'members_read': ../lib/table/rte_swx_table_selector.c:365:46: error: 'node' undeclared (first use in this function) 365 | TAILQ_FOREACH(elem, &group->members, node) { | ^~~~ ../lib/table/rte_swx_table_selector.c:365:51: error: expected ';' before '{' token 365 | TAILQ_FOREACH(elem, &group->members, node) { | ^~ | ; ../lib/table/rte_swx_table_selector.c:360:18: error: unused variable 'n_members' [-Werror=unused-variable] 360 | uint32_t n_members = 0; | ^~~~~~~~~ ../lib/table/rte_swx_table_selector.c:356:40: error: unused parameter 'members' [-Werror=unused-parameter] 356 | members_read(struct group_member_info *members, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ ../lib/table/rte_swx_table_selector.c: In function 'group_check': ../lib/table/rte_swx_table_selector.c:353:1: error: control reaches end of non-void function [-Werror=return-type] 353 | } | ^ ../lib/table/rte_swx_table_selector.c: In function 'members_read': ../lib/table/rte_swx_table_selector.c:378:1: error: control reaches end of non-void function [-Werror=return-type] 378 | } | ^ cc1: all warnings being treated as errors [489/2236] Compiling C object lib/librte_table.a.p/table_rte_swx_table_em.c.o FAILED: lib/librte_table.a.p/table_rte_swx_table_em.c.o gcc -Ilib/librte_table.a.p -Ilib -I../lib -Ilib/table -I../lib/table -Ilib/eal/common -I../lib/eal/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/freebsd/include -I../lib/eal/freebsd/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/port -I../lib/port -Ilib/ethdev -I../lib/ethdev -Ilib/net -I../lib/net -Ilib/meter -I../lib/meter -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/dmadev -I../lib/dmadev -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -std=c11 -O2 -g -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -D__BSD_VISIBLE -fPIC -march=native -mno-avx512f -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-vla -DRTE_LOG_DEFAULT_LOGTYPE=lib.table -MD -MQ lib/librte_table.a.p/table_rte_swx_table_em.c.o -MF lib/librte_table.a.p/table_rte_swx_table_em.c.o.d -o lib/librte_table.a.p/table_rte_swx_table_em.c.o -c ../lib/table/rte_swx_table_em.c In file included from ../lib/table/rte_swx_table_em.h:13, from ../lib/table/rte_swx_table_em.c:15: ../lib/table/rte_swx_table.h:76:9: error: expected specifier-qualifier-list before 'RTE_TAILQ_ENTRY' 76 | RTE_TAILQ_ENTRY(rte_swx_table_entry) node; | ^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:119:1: error: data definition has no type or storage class [-Werror] 119 | RTE_TAILQ_HEAD(rte_swx_table_entry_list, rte_swx_table_entry); | ^~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:119:1: error: type defaults to 'int' in declaration of 'RTE_TAILQ_HEAD' [-Werror=implicit-int] ../lib/table/rte_swx_table.h:119:1: error: parameter names (without types) in function declaration [-Werror] ../lib/table/rte_swx_table.h:135:41: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 135 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table.h:167:34: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 167 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c: In function 'bkt_key_install': ../lib/table/rte_swx_table_em.c:164:30: error: 'struct rte_swx_table_entry' has no member named 'key' 164 | keycpy(bkt_key, input->key, t->params.key_size); | ^~ ../lib/table/rte_swx_table_em.c:168:28: error: 'struct rte_swx_table_entry' has no member named 'action_id' 168 | bkt_data[0] = input->action_id; | ^~ ../lib/table/rte_swx_table_em.c:169:48: error: 'struct rte_swx_table_entry' has no member named 'action_data' 169 | if (t->params.action_data_size && input->action_data) | ^~ ../lib/table/rte_swx_table_em.c:170:43: error: 'struct rte_swx_table_entry' has no member named 'action_data' 170 | memcpy(&bkt_data[1], input->action_data, t->params.action_data_size); | ^~ ../lib/table/rte_swx_table_em.c: In function 'bkt_key_data_update': ../lib/table/rte_swx_table_em.c:187:28: error: 'struct rte_swx_table_entry' has no member named 'action_id' 187 | bkt_data[0] = input->action_id; | ^~ ../lib/table/rte_swx_table_em.c:188:48: error: 'struct rte_swx_table_entry' has no member named 'action_data' 188 | if (t->params.action_data_size && input->action_data) | ^~ ../lib/table/rte_swx_table_em.c:189:43: error: 'struct rte_swx_table_entry' has no member named 'action_data' 189 | memcpy(&bkt_data[1], input->action_data, t->params.action_data_size); | ^~ ../lib/table/rte_swx_table_em.c: In function 'table_add': ../lib/table/rte_swx_table_em.c:310:20: error: 'struct rte_swx_table_entry' has no member named 'key' 310 | CHECK(entry->key, EINVAL); | ^~ ../lib/table/rte_swx_table_em.c:19:15: note: in definition of macro 'CHECK' 19 | if (!(condition)) \ | ^~~~~~~~~ ../lib/table/rte_swx_table_em.c:312:46: error: 'struct rte_swx_table_entry' has no member named 'key' 312 | input_sig = t->params.hash_func(entry->key, t->params.key_size, 0); | ^~ ../lib/table/rte_swx_table_em.c:320:53: error: 'struct rte_swx_table_entry' has no member named 'key' 320 | if (bkt_keycmp(t, bkt, entry->key, i, input_sig)) { | ^~ ../lib/table/rte_swx_table_em.c: In function 'table_del': ../lib/table/rte_swx_table_em.c:367:20: error: 'struct rte_swx_table_entry' has no member named 'key' 367 | CHECK(entry->key, EINVAL); | ^~ ../lib/table/rte_swx_table_em.c:19:15: note: in definition of macro 'CHECK' 19 | if (!(condition)) \ | ^~~~~~~~~ ../lib/table/rte_swx_table_em.c:369:46: error: 'struct rte_swx_table_entry' has no member named 'key' 369 | input_sig = t->params.hash_func(entry->key, t->params.key_size, 0); | ^~ ../lib/table/rte_swx_table_em.c:377:53: error: 'struct rte_swx_table_entry' has no member named 'key' 377 | if (bkt_keycmp(t, bkt, entry->key, i, input_sig)) { | ^~ ../lib/table/rte_swx_table_em.c: At top level: ../lib/table/rte_swx_table_em.c:606:21: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 606 | struct rte_swx_table_entry_list *entries, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c: In function 'table_create': ../lib/table/rte_swx_table_em.c:623:9: error: implicit declaration of function 'TAILQ_FOREACH' [-Werror=implicit-function-declaration] 623 | TAILQ_FOREACH(entry, entries, node) { | ^~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:623:9: error: nested extern declaration of 'TAILQ_FOREACH' [-Werror=nested-externs] ../lib/table/rte_swx_table_em.c:623:39: error: 'node' undeclared (first use in this function) 623 | TAILQ_FOREACH(entry, entries, node) { | ^~~~ ../lib/table/rte_swx_table_em.c:623:39: note: each undeclared identifier is reported only once for each function it appears in ../lib/table/rte_swx_table_em.c:623:44: error: expected ';' before '{' token 623 | TAILQ_FOREACH(entry, entries, node) { | ^~ | ; ../lib/table/rte_swx_table_em.c: At top level: ../lib/table/rte_swx_table_em.c:638:24: error: 'struct rte_swx_table_entry_list' declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 638 | struct rte_swx_table_entry_list *entries __rte_unused, | ^~~~~~~~~~~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:653:26: error: initialization of 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} from incompatible pointer type 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} [-Werror=incompatible-pointer-types] 653 | .footprint_get = table_footprint, | ^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:653:26: note: (near initialization for 'rte_swx_table_exact_match_unoptimized_ops.footprint_get') ../lib/table/rte_swx_table_em.c:655:19: error: initialization of 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' from incompatible pointer type 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Werror=incompatible-pointer-types] 655 | .create = table_create, | ^~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:655:19: note: (near initialization for 'rte_swx_table_exact_match_unoptimized_ops.create') ../lib/table/rte_swx_table_em.c:664:26: error: initialization of 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} from incompatible pointer type 'uint64_t (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)' {aka 'long unsigned int (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *)'} [-Werror=incompatible-pointer-types] 664 | .footprint_get = table_footprint, | ^~~~~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:664:26: note: (near initialization for 'rte_swx_table_exact_match_ops.footprint_get') ../lib/table/rte_swx_table_em.c:666:19: error: initialization of 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' from incompatible pointer type 'void * (*)(struct rte_swx_table_params *, struct rte_swx_table_entry_list *, const char *, int)' [-Werror=incompatible-pointer-types] 666 | .create = table_create, | ^~~~~~~~~~~~ ../lib/table/rte_swx_table_em.c:666:19: note: (near initialization for 'rte_swx_table_exact_match_ops.create') ../lib/table/rte_swx_table_em.c: In function 'table_create': ../lib/table/rte_swx_table_em.c:634:1: error: control reaches end of non-void function [-Werror=return-type] 634 | } | ^ cc1: all warnings being treated as errors [490/2236] Compiling C object lib/librte_table.a.p/table_rte_swx_table_learner.c.o [491/2236] Compiling C object lib/librte_table.a.p/table_rte_table_acl.c.o [492/2236] Generating lib/port.sym_chk with a custom command (wrapped by meson to capture output) [493/2236] Compiling C object lib/librte_table.a.p/table_rte_table_hash_cuckoo.c.o [494/2236] Compiling C object lib/librte_pdump.a.p/pdump_rte_pdump.c.o [495/2236] Compiling C object lib/librte_table.a.p/table_rte_table_hash_ext.c.o [496/2236] Compiling C object lib/librte_table.a.p/table_rte_table_hash_key8.c.o ninja: build stopped DPDK STV team