=> Bootstrap dependency digest>=20211023: found digest-20220214 ===> Skipping vulnerability checks. WARNING: No /usr/pkg/pkgdb/pkg-vulnerabilities file found. WARNING: To fix run: `/usr/sbin/pkg_admin -K /usr/pkg/pkgdb fetch-pkg-vulnerabilities'. ===> Building for bfs-4.1.3 [ CC ] src/main.c [ CC ] src/bfstd.c [ CC ] src/alloc.c [ CC ] src/bar.c [ CC ] src/color.c [ CC ] src/ctx.c [ CC ] src/bftw.c [ CC ] src/diag.c In file included from src/alloc.c:4:0: src/alloc.h:134:1: error: expected identifier or '(' before '[' token [[_malloc(free, 1)]] ^ src/alloc.h:148:1: error: expected identifier or '(' before '[' token [[_malloc(free, 1)]] ^ src/alloc.h:190:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.h:217:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.h:275:1: error: expected identifier or '(' before '[' token [[_malloc(arena_free, 2)]] ^ In file included from src/ctx.h:11:0, from src/ctx.c:4: src/alloc.h:134:1: error: expected identifier or '(' before '[' token [[_malloc(free, 1)]] ^ src/alloc.h:356:1: error: expected identifier or '(' before '[' token [[_malloc(varena_free, 2)]] ^ src/alloc.h:148:1: error: expected identifier or '(' before '[' token [[_malloc(free, 1)]] ^ src/alloc.h:373:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.h:388:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.h:190:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.h:217:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.h:275:1: error: expected identifier or '(' before '[' token [[_malloc(arena_free, 2)]] ^ src/alloc.h:356:1: error: expected identifier or '(' before '[' token [[_malloc(varena_free, 2)]] ^ src/alloc.h:373:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.h:388:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ In file included from src/bar.c:6:0: src/alloc.h:134:1: error: expected identifier or '(' before '[' token [[_malloc(free, 1)]] ^ src/alloc.h:148:1: error: expected identifier or '(' before '[' token [[_malloc(free, 1)]] ^ src/alloc.h:190:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.h:217:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.h:275:1: error: expected identifier or '(' before '[' token [[_malloc(arena_free, 2)]] ^ src/alloc.h:356:1: error: expected identifier or '(' before '[' token [[_malloc(varena_free, 2)]] ^ src/alloc.h:373:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.h:388:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ In file included from src/bftw.c:23:0: src/alloc.h:134:1: error: expected identifier or '(' before '[' token [[_malloc(free, 1)]] ^ src/alloc.h:148:1: error: expected identifier or '(' before '[' token [[_malloc(free, 1)]] ^ src/alloc.h:190:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.h:217:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.h:275:1: error: expected identifier or '(' before '[' token [[_malloc(arena_free, 2)]] ^ src/alloc.h:356:1: error: expected identifier or '(' before '[' token [[_malloc(varena_free, 2)]] ^ src/alloc.h:373:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.h:388:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ In file included from src/ctx.h:11:0, from src/main.c:52: src/alloc.h:134:1: error: expected identifier or '(' before '[' token [[_malloc(free, 1)]] ^ src/alloc.h:148:1: error: expected identifier or '(' before '[' token [[_malloc(free, 1)]] ^ src/alloc.h:190:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.h:217:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.h:275:1: error: expected identifier or '(' before '[' token [[_malloc(arena_free, 2)]] ^ src/alloc.h:356:1: error: expected identifier or '(' before '[' token [[_malloc(varena_free, 2)]] ^ src/alloc.h:373:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.h:388:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ In file included from src/bftw.c:26:0: src/diag.h:34:1: error: expected identifier or '(' before '[' token [[_printf(1, 2)]] ^ src/diag.h:54:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:144:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:150:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:159:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:168:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:175:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:182:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:189:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:196:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:202:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:208:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:214:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:220:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:226:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:232:1: error: expected identifier or '(' before '[' token [[_cold]] ^ In file included from src/bftw.c:28:0: src/dstring.h:45:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:54:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:65:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:74:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:85:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:120:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:142:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:157:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:170:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:185:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:198:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:211:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ In file included from src/color.h:12:0, from src/color.c:4: src/dstring.h:45:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:224:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:54:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:239:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:65:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:254:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:74:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:267:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:85:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:281:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:297:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:120:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:313:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:142:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:157:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:329:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:170:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:346:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:185:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:352:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:198:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:211:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:224:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:239:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:254:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:267:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ In file included from src/ctx.h:13:0, from src/main.c:52: src/diag.h:34:1: error: expected identifier or '(' before '[' token [[_printf(1, 2)]] ^ src/dstring.h:281:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:54:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/dstring.h:297:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:313:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:329:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:144:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/dstring.h:346:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:150:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:159:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/dstring.h:352:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:168:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:175:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:182:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:189:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:196:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:202:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:208:1: error: expected identifier or '(' before '[' token [[_cold]] ^ In file included from src/color.c:4:0: src/color.h:106:1: error: expected identifier or '(' before '[' token [[_printf(2, 3)]] ^ src/diag.h:214:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:220:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/color.h:112:1: error: expected identifier or '(' before '[' token [[_printf(2, 0)]] ^ src/diag.h:226:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:232:1: error: expected identifier or '(' before '[' token [[_cold]] ^ In file included from src/color.h:12:0, from src/expr.h:11, from src/ctx.h:14, from src/main.c:52: src/dstring.h:45:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:54:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:65:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:74:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:85:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:120:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:142:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:157:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:170:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:185:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:198:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:211:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:224:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:239:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:254:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:267:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:281:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:297:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:313:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:329:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:346:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:352:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ In file included from src/expr.h:11:0, from src/ctx.h:14, from src/main.c:52: src/color.h:106:1: error: expected identifier or '(' before '[' token [[_printf(2, 3)]] ^ src/color.h:112:1: error: expected identifier or '(' before '[' token [[_printf(2, 0)]] ^ In file included from src/bftw.c:33:0: src/trie.h:24:2: error: expected specifier-qualifier-list before '[' token [[_counted_by(length)]] ^ In file included from src/color.c:6:0: src/alloc.h:134:1: error: expected identifier or '(' before '[' token [[_malloc(free, 1)]] ^ src/alloc.h:148:1: error: expected identifier or '(' before '[' token [[_malloc(free, 1)]] ^ src/alloc.h:190:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.h:217:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.h:275:1: error: expected identifier or '(' before '[' token [[_malloc(arena_free, 2)]] ^ In file included from src/alloc.c:8:0: src/diag.h:34:1: error: expected identifier or '(' before '[' token [[_printf(1, 2)]] ^ src/alloc.h:356:1: error: expected identifier or '(' before '[' token [[_malloc(varena_free, 2)]] ^ src/diag.h:54:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/alloc.h:373:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:144:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/alloc.h:388:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:150:1: error: expected identifier or '(' before '[' token [[_cold]] ^ In file included from src/ctx.h:13:0, from src/ctx.c:4: src/diag.h:34:1: error: expected identifier or '(' before '[' token [[_printf(1, 2)]] ^ src/diag.h:159:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:54:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:168:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:175:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:182:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:189:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:196:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:144:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:202:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:150:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:208:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:159:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:214:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:168:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:220:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:175:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:226:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:182:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:232:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:189:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:196:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:202:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:208:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:214:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:220:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:226:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:232:1: error: expected identifier or '(' before '[' token [[_cold]] ^ In file included from src/color.h:12:0, from src/expr.h:11, from src/ctx.h:14, from src/ctx.c:4: src/dstring.h:45:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:54:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:65:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:74:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ In file included from src/bftw.c:30:0: src/bftw.c: In function 'bftw_queue_push': src/dstring.h:85:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:120:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:142:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:157:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:170:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:185:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:198:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ In file included from src/ctx.h:15:0, from src/main.c:52: src/trie.h:24:2: error: expected specifier-qualifier-list before '[' token [[_counted_by(length)]] ^ src/dstring.h:211:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:224:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:239:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/list.h:220:7: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' item->next = *cursor, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:394:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->buffer, file); ^~~~~~~~~~~~ src/dstring.h:254:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:267:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:281:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:297:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:313:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:329:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:346:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:352:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ In file included from src/expr.h:11:0, from src/ctx.h:14, from src/ctx.c:4: src/color.h:106:1: error: expected identifier or '(' before '[' token [[_printf(2, 3)]] ^ src/bfs.h:77:51: error: 'C' undeclared (first use in this function) #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:139:2: note: in expansion of macro 'BFS_VA_IF' BFS_VA_IF(node)(node.next)(next) ^~~~~~~~~ src/list.h:216:42: note: in expansion of macro 'LIST_NEXT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:394:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->buffer, file); ^~~~~~~~~~~~ src/color.h:112:1: error: expected identifier or '(' before '[' token [[_printf(2, 0)]] ^ src/bfs.h:77:51: note: each undeclared identifier is reported only once for each function it appears in #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:139:2: note: in expansion of macro 'BFS_VA_IF' BFS_VA_IF(node)(node.next)(next) ^~~~~~~~~ src/list.h:216:42: note: in expansion of macro 'LIST_NEXT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:394:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->buffer, file); ^~~~~~~~~~~~ src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:216:42: note: in expansion of macro 'LIST_NEXT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:394:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->buffer, file); ^~~~~~~~~~~~ In file included from src/bar.c:11:0: src/dstring.h:45:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:54:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:65:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:74:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/dstring.h:85:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ In file included from src/diag.c:4:0: src/diag.h:34:1: error: expected identifier or '(' before '[' token [[_printf(1, 2)]] ^ src/dstring.h:120:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:54:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/dstring.h:142:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:157:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:170:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/list.h:139:29: error: 'next' undeclared (first use in this function); did you mean 'exit'? BFS_VA_IF(node)(node.next)(next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:216:42: note: in expansion of macro 'LIST_NEXT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:394:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->buffer, file); ^~~~~~~~~~~~ src/dstring.h:185:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:144:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/dstring.h:198:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:150:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/dstring.h:211:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:159:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/list.h:222:20: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:394:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->buffer, file); ^~~~~~~~~~~~ src/dstring.h:224:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:168:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/dstring.h:239:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:175:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/dstring.h:254:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:182:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/list.h:222:47: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:394:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->buffer, file); ^~~~~~~~~~~~ src/diag.h:189:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/dstring.h:267:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:196:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/dstring.h:281:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:202:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/list.h:223:8: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' &item->next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:394:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->buffer, file); ^~~~~~~~~~~~ src/dstring.h:297:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:208:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/dstring.h:313:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:214:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:220:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/dstring.h:329:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.c:37:7: warning: no previous declaration for 'alloc' [-Wmissing-declarations] void *alloc(size_t align, size_t size) { ^~~~~ src/list.h:220:7: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' item->next = *cursor, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:249:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, &(list)->head, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:396:3: note: in expansion of macro 'SLIST_PREPEND' SLIST_PREPEND(&queue->waiting, file); ^~~~~~~~~~~~~ src/diag.h:226:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/dstring.h:346:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:232:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:216:42: note: in expansion of macro 'LIST_NEXT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:249:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, &(list)->head, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:396:3: note: in expansion of macro 'SLIST_PREPEND' SLIST_PREPEND(&queue->waiting, file); ^~~~~~~~~~~~~ src/dstring.h:352:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/list.h:222:20: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:249:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, &(list)->head, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:396:3: note: in expansion of macro 'SLIST_PREPEND' SLIST_PREPEND(&queue->waiting, file); ^~~~~~~~~~~~~ src/alloc.c:52:7: warning: no previous declaration for 'zalloc' [-Wmissing-declarations] void *zalloc(size_t align, size_t size) { ^~~~~~ src/list.h:222:47: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:249:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, &(list)->head, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:396:3: note: in expansion of macro 'SLIST_PREPEND' SLIST_PREPEND(&queue->waiting, file); ^~~~~~~~~~~~~ src/list.h:223:8: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' &item->next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:249:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, &(list)->head, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:396:3: note: in expansion of macro 'SLIST_PREPEND' SLIST_PREPEND(&queue->waiting, file); ^~~~~~~~~~~~~ src/list.h:220:7: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' item->next = *cursor, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:249:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, &(list)->head, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:398:4: note: in expansion of macro 'SLIST_PREPEND' SLIST_PREPEND(&queue->ready, file, ready); ^~~~~~~~~~~~~ src/alloc.c:71:7: warning: no previous declaration for 'xrealloc' [-Wmissing-declarations] void *xrealloc(void *ptr, size_t align, size_t old_size, size_t new_size) { ^~~~~~~~ src/alloc.c:101:7: warning: no previous declaration for 'reserve' [-Wmissing-declarations] void *reserve(void *ptr, size_t align, size_t size, size_t count) { ^~~~~~~ src/bftw.c:398:39: error: 'ready' undeclared (first use in this function); did you mean 'xread'? SLIST_PREPEND(&queue->ready, file, ready); ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:216:42: note: in expansion of macro 'LIST_NEXT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:249:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, &(list)->head, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:398:4: note: in expansion of macro 'SLIST_PREPEND' SLIST_PREPEND(&queue->ready, file, ready); ^~~~~~~~~~~~~ src/list.h:222:20: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:249:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, &(list)->head, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:398:4: note: in expansion of macro 'SLIST_PREPEND' SLIST_PREPEND(&queue->ready, file, ready); ^~~~~~~~~~~~~ src/list.h:222:47: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:249:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, &(list)->head, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:398:4: note: in expansion of macro 'SLIST_PREPEND' SLIST_PREPEND(&queue->ready, file, ready); ^~~~~~~~~~~~~ src/alloc.c:176:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/list.h:223:8: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' &item->next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:249:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, &(list)->head, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:398:4: note: in expansion of macro 'SLIST_PREPEND' SLIST_PREPEND(&queue->ready, file, ready); ^~~~~~~~~~~~~ src/alloc.c:212:7: warning: no previous declaration for 'arena_alloc' [-Wmissing-declarations] void *arena_alloc(struct arena *arena) { ^~~~~~~~~~~ src/list.h:220:7: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' item->next = *cursor, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:401:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->waiting, file); ^~~~~~~~~~~~ src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:216:42: note: in expansion of macro 'LIST_NEXT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:401:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->waiting, file); ^~~~~~~~~~~~ src/list.h:222:20: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:401:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->waiting, file); ^~~~~~~~~~~~ src/list.h:222:47: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:401:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->waiting, file); ^~~~~~~~~~~~ src/list.h:223:8: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' &item->next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:401:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->waiting, file); ^~~~~~~~~~~~ src/list.h:220:7: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' item->next = *cursor, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:403:4: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->ready, file, ready); ^~~~~~~~~~~~ src/list.h:222:20: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:403:4: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->ready, file, ready); ^~~~~~~~~~~~ src/list.h:222:47: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:403:4: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->ready, file, ready); ^~~~~~~~~~~~ src/list.h:223:8: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' &item->next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:403:4: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->ready, file, ready); ^~~~~~~~~~~~ src/bftw.c: In function 'bftw_queue_flush': src/list.h:340:28: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' item && (_next = item->next, true); \ ^ src/list.h:336:2: note: in expansion of macro 'for_slist_' for_slist_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:422:3: note: in expansion of macro 'for_slist' for_slist (struct bftw_file, file, &queue->buffer) { ^~~~~~~~~ In file included from src/color.c:10:0: src/diag.h:34:1: error: expected identifier or '(' before '[' token [[_printf(1, 2)]] ^ src/diag.h:54:1: error: expected identifier or '(' before '[' token [[_cold]] ^ In file included from src/ctx.h:15:0, from src/ctx.c:4: src/trie.h:24:2: error: expected specifier-qualifier-list before '[' token [[_counted_by(length)]] ^ src/diag.h:144:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:150:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/bfs.h:77:51: error: 'C' undeclared (first use in this function) #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/list.h:340:30: note: in definition of macro 'for_slist_' item && (_next = item->next, true); \ ^~~~ src/list.h:139:2: note: in expansion of macro 'BFS_VA_IF' BFS_VA_IF(node)(node.next)(next) ^~~~~~~~~ src/list.h:336:33: note: in expansion of macro 'LIST_NEXT_' for_slist_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:422:3: note: in expansion of macro 'for_slist' for_slist (struct bftw_file, file, &queue->buffer) { ^~~~~~~~~ src/diag.h:159:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:340:30: note: in definition of macro 'for_slist_' item && (_next = item->next, true); \ ^~~~ src/list.h:336:33: note: in expansion of macro 'LIST_NEXT_' for_slist_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:422:3: note: in expansion of macro 'for_slist' for_slist (struct bftw_file, file, &queue->buffer) { ^~~~~~~~~ src/diag.h:168:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:175:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:182:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:189:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:196:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:202:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:208:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:214:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/list.h:139:29: error: 'next' undeclared (first use in this function); did you mean '_next'? BFS_VA_IF(node)(node.next)(next) ^ src/list.h:340:30: note: in definition of macro 'for_slist_' item && (_next = item->next, true); \ ^~~~ src/list.h:336:33: note: in expansion of macro 'LIST_NEXT_' for_slist_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:422:3: note: in expansion of macro 'for_slist' for_slist (struct bftw_file, file, &queue->buffer) { ^~~~~~~~~ src/diag.h:220:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:226:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:232:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/list.h:220:7: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' item->next = *cursor, \ ^ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/bftw.c:423:13: note: in expansion of macro 'SLIST_INSERT' cursor = SLIST_INSERT(&queue->ready, cursor, file, ready); ^~~~~~~~~~~~ In file included from src/diag.c:6:0: src/alloc.h:134:1: error: expected identifier or '(' before '[' token [[_malloc(free, 1)]] ^ src/alloc.h:148:1: error: expected identifier or '(' before '[' token [[_malloc(free, 1)]] ^ src/alloc.h:190:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ In file included from src/bfstd.c:8:0: src/diag.h:34:1: error: expected identifier or '(' before '[' token [[_printf(1, 2)]] ^ src/alloc.h:217:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/bftw.c:423:55: error: 'ready' undeclared (first use in this function); did you mean 'xread'? cursor = SLIST_INSERT(&queue->ready, cursor, file, ready); ^ src/list.h:220:9: note: in definition of macro 'SLIST_INSERT_' item->next = *cursor, \ ^~~~ src/list.h:216:42: note: in expansion of macro 'LIST_NEXT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:423:13: note: in expansion of macro 'SLIST_INSERT' cursor = SLIST_INSERT(&queue->ready, cursor, file, ready); ^~~~~~~~~~~~ src/alloc.c: In function 'arena_alloc': src/diag.h:54:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/alloc.c:213:24: error: implicit declaration of function 'slab_alloc'; did you mean 'arena_alloc'? [-Werror=implicit-function-declaration] if (!arena->chunks && slab_alloc(arena) != 0) { ^~~~~~~~~~ arena_alloc src/list.h:222:20: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/bftw.c:423:13: note: in expansion of macro 'SLIST_INSERT' cursor = SLIST_INSERT(&queue->ready, cursor, file, ready); ^~~~~~~~~~~~ src/list.h:222:47: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/bftw.c:423:13: note: in expansion of macro 'SLIST_INSERT' cursor = SLIST_INSERT(&queue->ready, cursor, file, ready); ^~~~~~~~~~~~ src/alloc.h:275:1: error: expected identifier or '(' before '[' token [[_malloc(arena_free, 2)]] ^ src/list.h:223:8: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' &item->next) ^ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/bftw.c:423:13: note: in expansion of macro 'SLIST_INSERT' cursor = SLIST_INSERT(&queue->ready, cursor, file, ready); ^~~~~~~~~~~~ src/diag.h:144:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:150:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/alloc.h:356:1: error: expected identifier or '(' before '[' token [[_malloc(varena_free, 2)]] ^ src/diag.h:159:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/alloc.h:373:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:168:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/alloc.h:388:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/diag.h:175:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:182:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:189:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:196:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/diag.h:202:1: error: expected identifier or '(' before '[' token [[_cold]] ^ In file included from src/color.h:12:0, from src/diag.c:9: src/dstring.h:45:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/diag.h:208:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/dstring.h:54:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/diag.h:214:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/bftw.c: In function 'bftw_queue_detach': src/dstring.h:65:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/diag.h:220:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/dstring.h:74:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/diag.h:226:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/list.h:297:25: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^ src/list.h:294:2: note: in expansion of macro 'SLIST_REMOVE_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:460:3: note: in expansion of macro 'SLIST_POP' SLIST_POP(&queue->buffer); ^~~~~~~~~ src/dstring.h:85:1: error: expected identifier or '(' before '[' token [[_malloc(dstrfree, 1)]] ^ src/diag.h:232:1: error: expected identifier or '(' before '[' token [[_cold]] ^ src/dstring.h:120:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.c: At top level: src/dstring.h:142:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.c:295:7: warning: no previous declaration for 'varena_alloc' [-Wmissing-declarations] void *varena_alloc(struct varena *varena, size_t count) { ^~~~~~~~~~~~ src/dstring.h:157:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:170:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:185:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:198:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.c:312:7: warning: no previous declaration for 'varena_realloc' [-Wmissing-declarations] void *varena_realloc(struct varena *varena, void *ptr, size_t old_count, size_t new_count) { ^~~~~~~~~~~~~~ src/bfs.h:77:51: error: 'C' undeclared (first use in this function) #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/list.h:297:27: note: in definition of macro 'SLIST_REMOVE_' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^~~~ src/list.h:139:2: note: in expansion of macro 'BFS_VA_IF' BFS_VA_IF(node)(node.next)(next) ^~~~~~~~~ src/list.h:294:34: note: in expansion of macro 'LIST_NEXT_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:460:3: note: in expansion of macro 'SLIST_POP' SLIST_POP(&queue->buffer); ^~~~~~~~~ src/dstring.h:211:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:224:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:297:27: note: in definition of macro 'SLIST_REMOVE_' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^~~~ src/list.h:294:34: note: in expansion of macro 'LIST_NEXT_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:460:3: note: in expansion of macro 'SLIST_POP' SLIST_POP(&queue->buffer); ^~~~~~~~~ src/dstring.h:239:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:254:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:267:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:281:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/alloc.c:350:7: warning: no previous declaration for 'varena_grow' [-Wmissing-declarations] void *varena_grow(struct varena *varena, void *ptr, size_t *count) { ^~~~~~~~~~~ src/dstring.h:297:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:313:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:329:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/list.h:139:29: error: 'next' undeclared (first use in this function); did you mean 'exit'? BFS_VA_IF(node)(node.next)(next) ^ src/list.h:297:27: note: in definition of macro 'SLIST_REMOVE_' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^~~~ src/list.h:294:34: note: in expansion of macro 'LIST_NEXT_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:460:3: note: in expansion of macro 'SLIST_POP' SLIST_POP(&queue->buffer); ^~~~~~~~~ src/dstring.h:346:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/dstring.h:352:1: error: expected identifier or '(' before '[' token [[_nodiscard]] ^ src/list.h:298:61: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (typeof(*cursor))slist_remove_(*cursor, cursor, &(*cursor)->next, sizeof(*cursor))) ^ src/list.h:294:2: note: in expansion of macro 'SLIST_REMOVE_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:460:3: note: in expansion of macro 'SLIST_POP' SLIST_POP(&queue->buffer); ^~~~~~~~~ src/list.h:297:25: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^ src/list.h:294:2: note: in expansion of macro 'SLIST_REMOVE_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:462:3: note: in expansion of macro 'SLIST_POP' SLIST_POP(&queue->waiting); ^~~~~~~~~ In file included from src/diag.c:9:0: src/color.h:106:1: error: expected identifier or '(' before '[' token [[_printf(2, 3)]] ^ src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:297:27: note: in definition of macro 'SLIST_REMOVE_' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^~~~ src/list.h:294:34: note: in expansion of macro 'LIST_NEXT_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:462:3: note: in expansion of macro 'SLIST_POP' SLIST_POP(&queue->waiting); ^~~~~~~~~ src/color.h:112:1: error: expected identifier or '(' before '[' token [[_printf(2, 0)]] ^ src/list.h:298:61: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (typeof(*cursor))slist_remove_(*cursor, cursor, &(*cursor)->next, sizeof(*cursor))) ^ src/list.h:294:2: note: in expansion of macro 'SLIST_REMOVE_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:462:3: note: in expansion of macro 'SLIST_POP' SLIST_POP(&queue->waiting); ^~~~~~~~~ src/bftw.c: In function 'bftw_queue_attach': src/list.h:220:7: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' item->next = *cursor, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:485:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->ready, file, ready); ^~~~~~~~~~~~ src/main.c: In function 'main': src/main.c:140:3: error: implicit declaration of function 'bfs_warning'; did you mean 'bfs_ediag'? [-Werror=implicit-function-declaration] bfs_warning(ctx, "Failed to set locale: %s\n\n", xstrerror(locale_err)); ^~~~~~~~~~~ bfs_ediag src/bfs.h:77:51: error: 'C' undeclared (first use in this function) #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:139:2: note: in expansion of macro 'BFS_VA_IF' BFS_VA_IF(node)(node.next)(next) ^~~~~~~~~ src/list.h:216:42: note: in expansion of macro 'LIST_NEXT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:485:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->ready, file, ready); ^~~~~~~~~~~~ src/bftw.c:485:37: error: 'ready' undeclared (first use in this function); did you mean 'xread'? SLIST_APPEND(&queue->ready, file, ready); ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:216:42: note: in expansion of macro 'LIST_NEXT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:485:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->ready, file, ready); ^~~~~~~~~~~~ src/list.h:139:29: error: 'next' undeclared (first use in this function); did you mean 'exit'? BFS_VA_IF(node)(node.next)(next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:216:42: note: in expansion of macro 'LIST_NEXT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:485:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->ready, file, ready); ^~~~~~~~~~~~ src/list.h:222:20: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:485:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->ready, file, ready); ^~~~~~~~~~~~ src/list.h:222:47: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:485:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->ready, file, ready); ^~~~~~~~~~~~ cc1: some warnings being treated as errors src/list.h:223:8: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' &item->next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:485:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&queue->ready, file, ready); ^~~~~~~~~~~~ In file included from src/color.c:16:0: src/trie.h:24:2: error: expected specifier-qualifier-list before '[' token [[_counted_by(length)]] ^ src/bftw.c: In function 'bftw_queue_pop': src/list.h:297:25: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^ src/list.h:294:2: note: in expansion of macro 'SLIST_REMOVE_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:530:27: note: in expansion of macro 'SLIST_POP' struct bftw_file *file = SLIST_POP(&queue->ready, ready); ^~~~~~~~~ src/bfs.h:77:51: error: 'C' undeclared (first use in this function) #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/list.h:297:27: note: in definition of macro 'SLIST_REMOVE_' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^~~~ src/list.h:139:2: note: in expansion of macro 'BFS_VA_IF' BFS_VA_IF(node)(node.next)(next) ^~~~~~~~~ src/list.h:294:34: note: in expansion of macro 'LIST_NEXT_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:530:27: note: in expansion of macro 'SLIST_POP' struct bftw_file *file = SLIST_POP(&queue->ready, ready); ^~~~~~~~~ cc1: some warnings being treated as errors src/bftw.c:530:52: error: 'ready' undeclared (first use in this function); did you mean 'xread'? struct bftw_file *file = SLIST_POP(&queue->ready, ready); ^ src/list.h:297:27: note: in definition of macro 'SLIST_REMOVE_' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^~~~ src/list.h:294:34: note: in expansion of macro 'LIST_NEXT_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:530:27: note: in expansion of macro 'SLIST_POP' struct bftw_file *file = SLIST_POP(&queue->ready, ready); ^~~~~~~~~ In file included from src/ctx.h:11:0, from src/ctx.c:4: src/ctx.c: In function 'bfs_ctx_new': src/list.h:139:29: error: 'next' undeclared (first use in this function); did you mean 'exit'? BFS_VA_IF(node)(node.next)(next) ^ src/list.h:297:27: note: in definition of macro 'SLIST_REMOVE_' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^~~~ src/list.h:294:34: note: in expansion of macro 'LIST_NEXT_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:530:27: note: in expansion of macro 'SLIST_POP' struct bftw_file *file = SLIST_POP(&queue->ready, ready); ^~~~~~~~~ src/alloc.h:158:10: error: implicit declaration of function 'zalloc'; did you mean 'tzalloc'? [-Werror=implicit-function-declaration] (type *)zalloc(alignof(type), sizeof(type)) ^ src/ctx.c:28:24: note: in expansion of macro 'ZALLOC' struct bfs_ctx *ctx = ZALLOC(struct bfs_ctx); ^~~~~~ src/list.h:298:61: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (typeof(*cursor))slist_remove_(*cursor, cursor, &(*cursor)->next, sizeof(*cursor))) ^ src/list.h:294:2: note: in expansion of macro 'SLIST_REMOVE_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:530:27: note: in expansion of macro 'SLIST_POP' struct bftw_file *file = SLIST_POP(&queue->ready, ready); ^~~~~~~~~ src/list.h:297:25: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^ src/list.h:294:2: note: in expansion of macro 'SLIST_REMOVE_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:535:10: note: in expansion of macro 'SLIST_POP' file = SLIST_POP(&queue->waiting); ^~~~~~~~~ src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:297:27: note: in definition of macro 'SLIST_REMOVE_' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^~~~ src/list.h:294:34: note: in expansion of macro 'LIST_NEXT_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:535:10: note: in expansion of macro 'SLIST_POP' file = SLIST_POP(&queue->waiting); ^~~~~~~~~ src/list.h:298:61: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (typeof(*cursor))slist_remove_(*cursor, cursor, &(*cursor)->next, sizeof(*cursor))) ^ src/list.h:294:2: note: in expansion of macro 'SLIST_REMOVE_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:535:10: note: in expansion of macro 'SLIST_POP' file = SLIST_POP(&queue->waiting); ^~~~~~~~~ src/bar.c:130:1: error: expected identifier or '(' before '[' token [[_printf(2, 3)]] ^ gmake: *** [Makefile:237: obj/src/main.o] Error 1 gmake: *** Waiting for unfinished jobs.... src/ctx.c: In function 'bfs_ctx_dedup': src/alloc.h:154:10: error: implicit declaration of function 'alloc'; did you mean 'alloca'? [-Werror=implicit-function-declaration] (type *)alloc(alignof(type), sizeof(type)) ^ src/ctx.c:133:27: note: in expansion of macro 'ALLOC' leaf->value = ctx_file = ALLOC(struct bfs_ctx_file); ^~~~~ In file included from src/trie.h:8:0, from src/ctx.h:15, from src/ctx.c:4: src/ctx.c: In function 'bfs_ctx_flush': src/color.c:35:2: error: expected specifier-qualifier-list before '[' token [[_counted_by(len)]] ^ src/list.h:504:28: error: 'struct trie_leaf' has no member named 'BFS_VA_IF_AB__VA_OPT__' item && (_next = item->next, true); \ ^ src/list.h:500:2: note: in expansion of macro 'for_list_' for_list_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~ src/trie.h:203:2: note: in expansion of macro 'for_list' for_list (struct trie_leaf, leaf, trie) ^~~~~~~~ src/ctx.c:167:2: note: in expansion of macro 'for_trie' for_trie (leaf, &ctx->files) { ^~~~~~~~ gmake: *** [Makefile:237: obj/src/alloc.o] Error 1 In file included from src/bar.c:6:0: src/bar.c: In function 'bfs_bar_show': src/alloc.h:154:10: error: implicit declaration of function 'alloc'; did you mean 'alloca'? [-Werror=implicit-function-declaration] (type *)alloc(alignof(type), sizeof(type)) ^ src/bar.c:147:24: note: in expansion of macro 'ALLOC' struct bfs_bar *bar = ALLOC(struct bfs_bar); ^~~~~ src/bfs.h:77:51: error: 'C' undeclared (first use in this function) #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/list.h:504:30: note: in definition of macro 'for_list_' item && (_next = item->next, true); \ ^~~~ src/list.h:139:2: note: in expansion of macro 'BFS_VA_IF' BFS_VA_IF(node)(node.next)(next) ^~~~~~~~~ src/list.h:500:32: note: in expansion of macro 'LIST_NEXT_' for_list_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/trie.h:203:2: note: in expansion of macro 'for_list' for_list (struct trie_leaf, leaf, trie) ^~~~~~~~ src/ctx.c:167:2: note: in expansion of macro 'for_trie' for_trie (leaf, &ctx->files) { ^~~~~~~~ src/bfs.h:77:51: note: each undeclared identifier is reported only once for each function it appears in #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/list.h:504:30: note: in definition of macro 'for_list_' item && (_next = item->next, true); \ ^~~~ src/list.h:139:2: note: in expansion of macro 'BFS_VA_IF' BFS_VA_IF(node)(node.next)(next) ^~~~~~~~~ src/list.h:500:32: note: in expansion of macro 'LIST_NEXT_' for_list_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/trie.h:203:2: note: in expansion of macro 'for_list' for_list (struct trie_leaf, leaf, trie) ^~~~~~~~ src/ctx.c:167:2: note: in expansion of macro 'for_trie' for_trie (leaf, &ctx->files) { ^~~~~~~~ src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:504:30: note: in definition of macro 'for_list_' item && (_next = item->next, true); \ ^~~~ src/list.h:500:32: note: in expansion of macro 'LIST_NEXT_' for_list_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/trie.h:203:2: note: in expansion of macro 'for_list' for_list (struct trie_leaf, leaf, trie) ^~~~~~~~ src/ctx.c:167:2: note: in expansion of macro 'for_trie' for_trie (leaf, &ctx->files) { ^~~~~~~~ src/bftw.c: In function 'bftw_allocdir': src/bftw.c:596:24: error: implicit declaration of function 'arena_alloc'; did you mean 'arena_clear'? [-Werror=implicit-function-declaration] struct bfs_dir *dir = arena_alloc(&cache->dirs); ^~~~~~~~~~~ arena_clear src/bftw.c:596:24: warning: initialization makes pointer from integer without a cast [-Wint-conversion] In file included from src/bftw.c:30:0: src/bftw.c: In function 'bftw_lru_remove': src/list.h:483:8: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' *(item->prev ? &item->prev->next : &list->head) = item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:480:2: note: in expansion of macro 'LIST_REMOVE_' LIST_REMOVE_((list), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:615:2: note: in expansion of macro 'LIST_REMOVE' LIST_REMOVE(cache, file, lru); ^~~~~~~~~~~ src/list.h:139:29: error: 'next' undeclared (first use in this function); did you mean '_next'? BFS_VA_IF(node)(node.next)(next) ^ src/list.h:504:30: note: in definition of macro 'for_list_' item && (_next = item->next, true); \ ^~~~ src/list.h:500:32: note: in expansion of macro 'LIST_NEXT_' for_list_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/trie.h:203:2: note: in expansion of macro 'for_list' for_list (struct trie_leaf, leaf, trie) ^~~~~~~~ src/ctx.c:167:2: note: in expansion of macro 'for_trie' for_trie (leaf, &ctx->files) { ^~~~~~~~ src/bfs.h:77:51: error: 'C' undeclared (first use in this function) #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:480:2: note: in expansion of macro 'LIST_REMOVE_' LIST_REMOVE_((list), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/list.h:375:2: note: in expansion of macro 'BFS_VA_IF' BFS_VA_IF(node)(node.prev)(prev) ^~~~~~~~~ src/list.h:480:31: note: in expansion of macro 'LIST_PREV_' LIST_REMOVE_((list), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:615:2: note: in expansion of macro 'LIST_REMOVE' LIST_REMOVE(cache, file, lru); ^~~~~~~~~~~ src/bftw.c:615:27: error: 'lru' undeclared (first use in this function) LIST_REMOVE(cache, file, lru); ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:480:2: note: in expansion of macro 'LIST_REMOVE_' LIST_REMOVE_((list), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/list.h:480:31: note: in expansion of macro 'LIST_PREV_' LIST_REMOVE_((list), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:615:2: note: in expansion of macro 'LIST_REMOVE' LIST_REMOVE(cache, file, lru); ^~~~~~~~~~~ src/list.h:375:29: error: 'prev' undeclared (first use in this function); did you mean 'free'? BFS_VA_IF(node)(node.prev)(prev) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:480:2: note: in expansion of macro 'LIST_REMOVE_' LIST_REMOVE_((list), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/list.h:480:31: note: in expansion of macro 'LIST_PREV_' LIST_REMOVE_((list), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:615:2: note: in expansion of macro 'LIST_REMOVE' LIST_REMOVE(cache, file, lru); ^~~~~~~~~~~ src/list.h:483:22: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' *(item->prev ? &item->prev->next : &list->head) = item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:480:2: note: in expansion of macro 'LIST_REMOVE_' LIST_REMOVE_((list), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:615:2: note: in expansion of macro 'LIST_REMOVE' LIST_REMOVE(cache, file, lru); ^~~~~~~~~~~ src/list.h:139:29: error: 'next' undeclared (first use in this function); did you mean 'exit'? BFS_VA_IF(node)(node.next)(next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:480:2: note: in expansion of macro 'LIST_REMOVE_' LIST_REMOVE_((list), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/list.h:480:56: note: in expansion of macro 'LIST_NEXT_' LIST_REMOVE_((list), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:615:2: note: in expansion of macro 'LIST_REMOVE' LIST_REMOVE(cache, file, lru); ^~~~~~~~~~~ src/list.h:483:56: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' *(item->prev ? &item->prev->next : &list->head) = item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:480:2: note: in expansion of macro 'LIST_REMOVE_' LIST_REMOVE_((list), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:615:2: note: in expansion of macro 'LIST_REMOVE' LIST_REMOVE(cache, file, lru); ^~~~~~~~~~~ src/list.h:484:8: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' *(item->next ? &item->next->prev : &list->tail) = item->prev, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:480:2: note: in expansion of macro 'LIST_REMOVE_' LIST_REMOVE_((list), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:615:2: note: in expansion of macro 'LIST_REMOVE' LIST_REMOVE(cache, file, lru); ^~~~~~~~~~~ src/bar.c: In function 'bfs_bar_update': src/bar.c:195:9: error: implicit declaration of function 'bfs_bar_printf'; did you mean 'bfs_bar_write'? [-Werror=implicit-function-declaration] return bfs_bar_printf(bar, ^~~~~~~~~~~~~~ bfs_bar_write src/ctx.c:169:18: error: 'ctx_file' undeclared (first use in this function); did you mean 'cfile'? CFILE *cfile = ctx_file->cfile; ^~~~~~~~ cfile src/list.h:484:22: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' *(item->next ? &item->next->prev : &list->tail) = item->prev, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:480:2: note: in expansion of macro 'LIST_REMOVE_' LIST_REMOVE_((list), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:615:2: note: in expansion of macro 'LIST_REMOVE' LIST_REMOVE(cache, file, lru); ^~~~~~~~~~~ src/color.c: In function 'new_esc': src/color.c:125:24: error: implicit declaration of function 'varena_alloc'; did you mean 'varena_clear'? [-Werror=implicit-function-declaration] struct esc_seq *esc = varena_alloc(&colors->esc_arena, len); ^~~~~~~~~~~~ varena_clear src/list.h:484:56: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' *(item->next ? &item->next->prev : &list->tail) = item->prev, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:480:2: note: in expansion of macro 'LIST_REMOVE_' LIST_REMOVE_((list), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:615:2: note: in expansion of macro 'LIST_REMOVE' LIST_REMOVE(cache, file, lru); ^~~~~~~~~~~ src/color.c:125:24: warning: initialization makes pointer from integer without a cast [-Wint-conversion] In file included from /usr/include/ssp/stdio.h:34:0, from /usr/include/stdio.h:597, from src/bfstd.h:136, from src/dstring.h:12, from src/color.h:12, from src/color.c:4: src/color.c:128:13: error: 'struct esc_seq' has no member named 'seq' memcpy(esc->seq, seq, len); ^ src/list.h:485:6: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' item->prev = item->next = NULL) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:480:2: note: in expansion of macro 'LIST_REMOVE_' LIST_REMOVE_((list), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:615:2: note: in expansion of macro 'LIST_REMOVE' LIST_REMOVE(cache, file, lru); ^~~~~~~~~~~ In file included from /usr/include/string.h:127:0, from src/list.h:89, from src/trie.h:8, from src/color.c:16: src/color.c:128:13: error: 'struct esc_seq' has no member named 'seq' memcpy(esc->seq, seq, len); ^ src/list.h:485:19: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' item->prev = item->next = NULL) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:480:2: note: in expansion of macro 'LIST_REMOVE_' LIST_REMOVE_((list), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:615:2: note: in expansion of macro 'LIST_REMOVE' LIST_REMOVE(cache, file, lru); ^~~~~~~~~~~ In file included from /usr/include/ssp/stdio.h:34:0, from /usr/include/stdio.h:597, from src/bfstd.h:136, from src/dstring.h:12, from src/color.h:12, from src/color.c:4: src/color.c:128:13: error: 'struct esc_seq' has no member named 'seq' memcpy(esc->seq, seq, len); ^ In file included from /usr/include/string.h:127:0, from src/list.h:89, from src/trie.h:8, from src/color.c:16: src/color.c:128:13: error: 'struct esc_seq' has no member named 'seq' memcpy(esc->seq, seq, len); ^ src/color.c: In function 'esc_eq': src/color.c:155:38: error: 'const struct esc_seq' has no member named 'seq' return esc->len == len && memcmp(esc->seq, str, len) == 0; ^~ src/bftw.c: In function 'bftw_lru_add': src/list.h:464:6: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' item->prev = cursor, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:460:2: note: in expansion of macro 'LIST_INSERT_' LIST_INSERT_((list), (cursor), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:656:2: note: in expansion of macro 'LIST_INSERT' LIST_INSERT(cache, cache->target, file, lru); ^~~~~~~~~~~ In file included from src/ctx.h:15:0, from src/diag.c:10: src/trie.h:24:2: error: expected specifier-qualifier-list before '[' token [[_counted_by(length)]] ^ src/bfs.h:77:51: error: 'C' undeclared (first use in this function) #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:460:2: note: in expansion of macro 'LIST_INSERT_' LIST_INSERT_((list), (cursor), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/list.h:375:2: note: in expansion of macro 'BFS_VA_IF' BFS_VA_IF(node)(node.prev)(prev) ^~~~~~~~~ src/list.h:460:41: note: in expansion of macro 'LIST_PREV_' LIST_INSERT_((list), (cursor), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:656:2: note: in expansion of macro 'LIST_INSERT' LIST_INSERT(cache, cache->target, file, lru); ^~~~~~~~~~~ src/bftw.c:656:42: error: 'lru' undeclared (first use in this function) LIST_INSERT(cache, cache->target, file, lru); ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:460:2: note: in expansion of macro 'LIST_INSERT_' LIST_INSERT_((list), (cursor), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/list.h:460:41: note: in expansion of macro 'LIST_PREV_' LIST_INSERT_((list), (cursor), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:656:2: note: in expansion of macro 'LIST_INSERT' LIST_INSERT(cache, cache->target, file, lru); ^~~~~~~~~~~ src/ctx.c:179:4: error: implicit declaration of function 'bfs_error'; did you mean 'ferror'? [-Werror=implicit-function-declaration] bfs_error(ctx, "%pq: %s.\n", path, errstr()); ^~~~~~~~~ ferror cc1: some warnings being treated as errors src/color.c: In function 'cat_esc': src/color.c:165:9: error: implicit declaration of function 'dstrxcat'; did you mean 'strlcat'? [-Werror=implicit-function-declaration] return dstrxcat(dstr, seq->seq, seq->len); ^~~~~~~~ strlcat src/color.c:165:27: error: 'const struct esc_seq' has no member named 'seq' return dstrxcat(dstr, seq->seq, seq->len); ^~ src/list.h:375:29: error: 'prev' undeclared (first use in this function); did you mean 'free'? BFS_VA_IF(node)(node.prev)(prev) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:460:2: note: in expansion of macro 'LIST_INSERT_' LIST_INSERT_((list), (cursor), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/list.h:460:41: note: in expansion of macro 'LIST_PREV_' LIST_INSERT_((list), (cursor), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:656:2: note: in expansion of macro 'LIST_INSERT' LIST_INSERT(cache, cache->target, file, lru); ^~~~~~~~~~~ src/list.h:465:6: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' item->next = cursor ? cursor->next : list->head, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:460:2: note: in expansion of macro 'LIST_INSERT_' LIST_INSERT_((list), (cursor), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:656:2: note: in expansion of macro 'LIST_INSERT' LIST_INSERT(cache, cache->target, file, lru); ^~~~~~~~~~~ In file included from src/trie.h:8:0, from src/ctx.h:15, from src/ctx.c:4: src/ctx.c: In function 'bfs_ctx_free': src/list.h:504:28: error: 'struct trie_leaf' has no member named 'BFS_VA_IF_AB__VA_OPT__' item && (_next = item->next, true); \ ^ src/list.h:500:2: note: in expansion of macro 'for_list_' for_list_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~ src/trie.h:203:2: note: in expansion of macro 'for_list' for_list (struct trie_leaf, leaf, trie) ^~~~~~~~ src/ctx.c:267:3: note: in expansion of macro 'for_trie' for_trie (leaf, &ctx->files) { ^~~~~~~~ src/list.h:139:29: error: 'next' undeclared (first use in this function); did you mean 'exit'? BFS_VA_IF(node)(node.next)(next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:460:2: note: in expansion of macro 'LIST_INSERT_' LIST_INSERT_((list), (cursor), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/list.h:460:66: note: in expansion of macro 'LIST_NEXT_' LIST_INSERT_((list), (cursor), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:656:2: note: in expansion of macro 'LIST_INSERT' LIST_INSERT(cache, cache->target, file, lru); ^~~~~~~~~~~ src/list.h:465:30: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' item->next = cursor ? cursor->next : list->head, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:460:2: note: in expansion of macro 'LIST_INSERT_' LIST_INSERT_((list), (cursor), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:656:2: note: in expansion of macro 'LIST_INSERT' LIST_INSERT(cache, cache->target, file, lru); ^~~~~~~~~~~ src/color.c: In function 'set_ext': src/color.c:247:26: warning: initialization makes pointer from integer without a cast [-Wint-conversion] struct ext_color *ext = varena_alloc(&colors->ext_arena, len + 1); ^~~~~~~~~~~~ src/list.h:466:8: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' *(item->prev ? &item->prev->next : &list->head) = item, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:460:2: note: in expansion of macro 'LIST_INSERT_' LIST_INSERT_((list), (cursor), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:656:2: note: in expansion of macro 'LIST_INSERT' LIST_INSERT(cache, cache->target, file, lru); ^~~~~~~~~~~ src/list.h:466:22: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' *(item->prev ? &item->prev->next : &list->head) = item, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:460:2: note: in expansion of macro 'LIST_INSERT_' LIST_INSERT_((list), (cursor), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:656:2: note: in expansion of macro 'LIST_INSERT' LIST_INSERT(cache, cache->target, file, lru); ^~~~~~~~~~~ src/bfs.h:77:51: error: 'C' undeclared (first use in this function) #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/list.h:504:30: note: in definition of macro 'for_list_' item && (_next = item->next, true); \ ^~~~ src/list.h:139:2: note: in expansion of macro 'BFS_VA_IF' BFS_VA_IF(node)(node.next)(next) ^~~~~~~~~ src/list.h:500:32: note: in expansion of macro 'LIST_NEXT_' for_list_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/trie.h:203:2: note: in expansion of macro 'for_list' for_list (struct trie_leaf, leaf, trie) ^~~~~~~~ src/ctx.c:267:3: note: in expansion of macro 'for_trie' for_trie (leaf, &ctx->files) { ^~~~~~~~ src/list.h:467:8: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' *(item->next ? &item->next->prev : &list->tail) = item) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:460:2: note: in expansion of macro 'LIST_INSERT_' LIST_INSERT_((list), (cursor), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:656:2: note: in expansion of macro 'LIST_INSERT' LIST_INSERT(cache, cache->target, file, lru); ^~~~~~~~~~~ src/color.c: In function 'ext_case_sensitive': src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:504:30: note: in definition of macro 'for_list_' item && (_next = item->next, true); \ ^~~~ src/list.h:500:32: note: in expansion of macro 'LIST_NEXT_' for_list_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/trie.h:203:2: note: in expansion of macro 'for_list' for_list (struct trie_leaf, leaf, trie) ^~~~~~~~ src/ctx.c:267:3: note: in expansion of macro 'for_trie' for_trie (leaf, &ctx->files) { ^~~~~~~~ src/list.h:467:22: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' *(item->next ? &item->next->prev : &list->tail) = item) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:460:2: note: in expansion of macro 'LIST_INSERT_' LIST_INSERT_((list), (cursor), (item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:656:2: note: in expansion of macro 'LIST_INSERT' LIST_INSERT(cache, cache->target, file, lru); ^~~~~~~~~~~ src/color.c:313:32: error: 'struct esc_seq' has no member named 'seq' if (esc_eq(iext->esc, ext->esc->seq, ext->esc->len)) { ^~ In file included from src/trie.h:8:0, from src/color.c:16: src/color.c: In function 'build_iext_trie': src/list.h:504:28: error: 'struct trie_leaf' has no member named 'BFS_VA_IF_AB__VA_OPT__' item && (_next = item->next, true); \ ^ src/list.h:500:2: note: in expansion of macro 'for_list_' for_list_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~ src/trie.h:203:2: note: in expansion of macro 'for_list' for_list (struct trie_leaf, leaf, trie) ^~~~~~~~ src/color.c:326:2: note: in expansion of macro 'for_trie' for_trie (leaf, &colors->ext_trie) { ^~~~~~~~ src/list.h:139:29: error: 'next' undeclared (first use in this function); did you mean '_next'? BFS_VA_IF(node)(node.next)(next) ^ src/list.h:504:30: note: in definition of macro 'for_list_' item && (_next = item->next, true); \ ^~~~ src/list.h:500:32: note: in expansion of macro 'LIST_NEXT_' for_list_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/trie.h:203:2: note: in expansion of macro 'for_list' for_list (struct trie_leaf, leaf, trie) ^~~~~~~~ src/ctx.c:267:3: note: in expansion of macro 'for_trie' for_trie (leaf, &ctx->files) { ^~~~~~~~ src/bfs.h:77:51: error: 'C' undeclared (first use in this function) #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/list.h:504:30: note: in definition of macro 'for_list_' item && (_next = item->next, true); \ ^~~~ src/list.h:139:2: note: in expansion of macro 'BFS_VA_IF' BFS_VA_IF(node)(node.next)(next) ^~~~~~~~~ src/list.h:500:32: note: in expansion of macro 'LIST_NEXT_' for_list_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/trie.h:203:2: note: in expansion of macro 'for_list' for_list (struct trie_leaf, leaf, trie) ^~~~~~~~ src/color.c:326:2: note: in expansion of macro 'for_trie' for_trie (leaf, &colors->ext_trie) { ^~~~~~~~ src/diag.c:29:6: warning: no previous declaration for 'bfs_diagf' [-Wmissing-declarations] void bfs_diagf(const char *format, ...) { ^~~~~~~~~ src/bfs.h:77:51: note: each undeclared identifier is reported only once for each function it appears in #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/list.h:504:30: note: in definition of macro 'for_list_' item && (_next = item->next, true); \ ^~~~ src/list.h:139:2: note: in expansion of macro 'BFS_VA_IF' BFS_VA_IF(node)(node.next)(next) ^~~~~~~~~ src/list.h:500:32: note: in expansion of macro 'LIST_NEXT_' for_list_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/trie.h:203:2: note: in expansion of macro 'for_list' for_list (struct trie_leaf, leaf, trie) ^~~~~~~~ src/color.c:326:2: note: in expansion of macro 'for_trie' for_trie (leaf, &colors->ext_trie) { ^~~~~~~~ src/diag.c:36:1: error: expected identifier or '(' before '[' token [[_noreturn]] ^ src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:504:30: note: in definition of macro 'for_list_' item && (_next = item->next, true); \ ^~~~ src/list.h:500:32: note: in expansion of macro 'LIST_NEXT_' for_list_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/trie.h:203:2: note: in expansion of macro 'for_list' for_list (struct trie_leaf, leaf, trie) ^~~~~~~~ src/color.c:326:2: note: in expansion of macro 'for_trie' for_trie (leaf, &colors->ext_trie) { ^~~~~~~~ src/list.h:139:29: error: 'next' undeclared (first use in this function); did you mean '_next'? BFS_VA_IF(node)(node.next)(next) ^ src/list.h:504:30: note: in definition of macro 'for_list_' item && (_next = item->next, true); \ ^~~~ src/list.h:500:32: note: in expansion of macro 'LIST_NEXT_' for_list_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/trie.h:203:2: note: in expansion of macro 'for_list' for_list (struct trie_leaf, leaf, trie) ^~~~~~~~ src/color.c:326:2: note: in expansion of macro 'for_trie' for_trie (leaf, &colors->ext_trie) { ^~~~~~~~ gmake: *** [Makefile:237: obj/src/bar.o] Error 1 src/bftw.c: In function 'bftw_file_new': src/diag.c:71:6: warning: no previous declaration for 'bfs_perror' [-Wmissing-declarations] void bfs_perror(const struct bfs_ctx *ctx, const char *str) { ^~~~~~~~~~ src/bftw.c:722:27: error: implicit declaration of function 'varena_alloc'; did you mean 'varena_clear'? [-Werror=implicit-function-declaration] struct bftw_file *file = varena_alloc(&cache->files, namelen + 1); ^~~~~~~~~~~~ varena_clear src/bftw.c:722:27: warning: initialization makes pointer from integer without a cast [-Wint-conversion] src/ctx.c:269:28: error: 'ctx_file' undeclared (first use in this function); did you mean 'tmpfile'? if (bfs_ctx_fclose(ctx, ctx_file) != 0) { ^~~~~~~~ tmpfile src/color.c:331:15: error: 'ext' undeclared (first use in this function); did you mean 'next'? ext_tolower(ext->ext, ext->len); ^~~ next In file included from src/bftw.c:30:0: src/list.h:130:17: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' LIST_VOID_(item->next = NULL) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:127:2: note: in expansion of macro 'SLIST_ITEM_INIT_' SLIST_ITEM_INIT_((item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~~~~ src/bftw.c:740:2: note: in expansion of macro 'SLIST_ITEM_INIT' SLIST_ITEM_INIT(file); ^~~~~~~~~~~~~~~ In file included from src/trie.h:8:0, from src/ctx.h:15, from src/ctx.c:4: src/list.h:340:28: error: 'struct bfs_expr' has no member named 'BFS_VA_IF_AB__VA_OPT__' item && (_next = item->next, true); \ ^ src/list.h:336:2: note: in expansion of macro 'for_slist_' for_slist_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/ctx.c:279:3: note: in expansion of macro 'for_slist' for_slist (struct bfs_expr, expr, &ctx->expr_list, freelist) { ^~~~~~~~~ In file included from src/trie.h:8:0, from src/color.c:16: src/list.h:504:28: error: 'struct trie_leaf' has no member named 'BFS_VA_IF_AB__VA_OPT__' item && (_next = item->next, true); \ ^ src/list.h:500:2: note: in expansion of macro 'for_list_' for_list_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~ src/trie.h:203:2: note: in expansion of macro 'for_list' for_list (struct trie_leaf, leaf, trie) ^~~~~~~~ src/color.c:351:2: note: in expansion of macro 'for_trie' for_trie (leaf, &colors->ext_trie) { ^~~~~~~~ src/bfs.h:77:51: error: 'C' undeclared (first use in this function) #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:127:2: note: in expansion of macro 'SLIST_ITEM_INIT_' SLIST_ITEM_INIT_((item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~~~~ src/list.h:139:2: note: in expansion of macro 'BFS_VA_IF' BFS_VA_IF(node)(node.next)(next) ^~~~~~~~~ src/list.h:127:27: note: in expansion of macro 'LIST_NEXT_' SLIST_ITEM_INIT_((item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:740:2: note: in expansion of macro 'SLIST_ITEM_INIT' SLIST_ITEM_INIT(file); ^~~~~~~~~~~~~~~ src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:504:30: note: in definition of macro 'for_list_' item && (_next = item->next, true); \ ^~~~ src/list.h:500:32: note: in expansion of macro 'LIST_NEXT_' for_list_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/trie.h:203:2: note: in expansion of macro 'for_list' for_list (struct trie_leaf, leaf, trie) ^~~~~~~~ src/color.c:351:2: note: in expansion of macro 'for_trie' for_trie (leaf, &colors->ext_trie) { ^~~~~~~~ src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:127:2: note: in expansion of macro 'SLIST_ITEM_INIT_' SLIST_ITEM_INIT_((item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~~~~ src/list.h:127:27: note: in expansion of macro 'LIST_NEXT_' SLIST_ITEM_INIT_((item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:740:2: note: in expansion of macro 'SLIST_ITEM_INIT' SLIST_ITEM_INIT(file); ^~~~~~~~~~~~~~~ src/diag.c: In function 'bfs_perror': src/diag.c:72:2: error: implicit declaration of function 'bfs_error'; did you mean 'bfs_perror'? [-Werror=implicit-function-declaration] bfs_error(ctx, "%s: %s.\n", str, errstr()); ^~~~~~~~~ bfs_perror src/diag.c: At top level: src/diag.c:75:6: warning: no previous declaration for 'bfs_error' [-Wmissing-declarations] void bfs_error(const struct bfs_ctx *ctx, const char *format, ...) { ^~~~~~~~~ src/list.h:139:29: error: 'next' undeclared (first use in this function); did you mean 'exit'? BFS_VA_IF(node)(node.next)(next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:127:2: note: in expansion of macro 'SLIST_ITEM_INIT_' SLIST_ITEM_INIT_((item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~~~~ src/list.h:127:27: note: in expansion of macro 'LIST_NEXT_' SLIST_ITEM_INIT_((item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:740:2: note: in expansion of macro 'SLIST_ITEM_INIT' SLIST_ITEM_INIT(file); ^~~~~~~~~~~~~~~ src/diag.c:75:6: warning: conflicting types for 'bfs_error' src/diag.c:72:2: note: previous implicit declaration of 'bfs_error' was here bfs_error(ctx, "%s: %s.\n", str, errstr()); ^~~~~~~~~ src/list.h:130:17: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' LIST_VOID_(item->next = NULL) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:127:2: note: in expansion of macro 'SLIST_ITEM_INIT_' SLIST_ITEM_INIT_((item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~~~~ src/bftw.c:741:2: note: in expansion of macro 'SLIST_ITEM_INIT' SLIST_ITEM_INIT(file, ready); ^~~~~~~~~~~~~~~ src/bftw.c:741:24: error: 'ready' undeclared (first use in this function); did you mean 'xread'? SLIST_ITEM_INIT(file, ready); ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:127:2: note: in expansion of macro 'SLIST_ITEM_INIT_' SLIST_ITEM_INIT_((item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~~~~ src/list.h:127:27: note: in expansion of macro 'LIST_NEXT_' SLIST_ITEM_INIT_((item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:741:2: note: in expansion of macro 'SLIST_ITEM_INIT' SLIST_ITEM_INIT(file, ready); ^~~~~~~~~~~~~~~ src/list.h:389:17: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' LIST_VOID_(item->prev = item->next = NULL) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:386:2: note: in expansion of macro 'LIST_ITEM_INIT_' LIST_ITEM_INIT_((item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~~~ src/bftw.c:742:2: note: in expansion of macro 'LIST_ITEM_INIT' LIST_ITEM_INIT(file, lru); ^~~~~~~~~~~~~~ src/diag.c: In function 'bfs_error': src/diag.c:78:2: error: implicit declaration of function 'bfs_verror'; did you mean 'bfs_error'? [-Werror=implicit-function-declaration] bfs_verror(ctx, format, args); ^~~~~~~~~~ bfs_error src/diag.c: At top level: src/diag.c:82:6: warning: no previous declaration for 'bfs_warning' [-Wmissing-declarations] bool bfs_warning(const struct bfs_ctx *ctx, const char *format, ...) { ^~~~~~~~~~~ src/bftw.c:742:23: error: 'lru' undeclared (first use in this function) LIST_ITEM_INIT(file, lru); ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:386:2: note: in expansion of macro 'LIST_ITEM_INIT_' LIST_ITEM_INIT_((item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~~~ src/list.h:386:26: note: in expansion of macro 'LIST_PREV_' LIST_ITEM_INIT_((item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:742:2: note: in expansion of macro 'LIST_ITEM_INIT' LIST_ITEM_INIT(file, lru); ^~~~~~~~~~~~~~ src/ctx.c:279:54: error: 'freelist' undeclared (first use in this function); did you mean 'for_list'? for_slist (struct bfs_expr, expr, &ctx->expr_list, freelist) { ^ src/list.h:340:30: note: in definition of macro 'for_slist_' item && (_next = item->next, true); \ ^~~~ src/list.h:336:33: note: in expansion of macro 'LIST_NEXT_' for_slist_(type, item, (list), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/ctx.c:279:3: note: in expansion of macro 'for_slist' for_slist (struct bfs_expr, expr, &ctx->expr_list, freelist) { ^~~~~~~~~ src/list.h:375:29: error: 'prev' undeclared (first use in this function); did you mean 'free'? BFS_VA_IF(node)(node.prev)(prev) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:386:2: note: in expansion of macro 'LIST_ITEM_INIT_' LIST_ITEM_INIT_((item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~~~ src/list.h:386:26: note: in expansion of macro 'LIST_PREV_' LIST_ITEM_INIT_((item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:742:2: note: in expansion of macro 'LIST_ITEM_INIT' LIST_ITEM_INIT(file, lru); ^~~~~~~~~~~~~~ src/list.h:389:30: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' LIST_VOID_(item->prev = item->next = NULL) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:386:2: note: in expansion of macro 'LIST_ITEM_INIT_' LIST_ITEM_INIT_((item), LIST_PREV_(__VA_ARGS__), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~~~ src/bftw.c:742:2: note: in expansion of macro 'LIST_ITEM_INIT' LIST_ITEM_INIT(file, lru); ^~~~~~~~~~~~~~ src/diag.c: In function 'bfs_warning': src/diag.c:85:13: error: implicit declaration of function 'bfs_vwarning'; did you mean 'bfs_warning'? [-Werror=implicit-function-declaration] bool ret = bfs_vwarning(ctx, format, args); ^~~~~~~~~~~~ bfs_warning src/diag.c: At top level: src/diag.c:90:6: warning: no previous declaration for 'bfs_debug' [-Wmissing-declarations] bool bfs_debug(const struct bfs_ctx *ctx, enum debug_flags flag, const char *format, ...) { ^~~~~~~~~ src/color.c: In function 'unescape': src/color.c:447:6: error: implicit declaration of function 'dstresize'; did you mean 'dstreserve'? [-Werror=implicit-function-declaration] if (dstresize(str, 0) != 0) { ^~~~~~~~~ dstreserve src/diag.c: In function 'bfs_debug': src/diag.c:93:13: error: implicit declaration of function 'bfs_vdebug'; did you mean 'bfs_debug'? [-Werror=implicit-function-declaration] bool ret = bfs_vdebug(ctx, flag, format, args); ^~~~~~~~~~ bfs_debug src/diag.c: At top level: src/diag.c:98:6: warning: no previous declaration for 'bfs_verror' [-Wmissing-declarations] void bfs_verror(const struct bfs_ctx *ctx, const char *format, va_list args) { ^~~~~~~~~~ src/diag.c:98:6: warning: conflicting types for 'bfs_verror' src/diag.c:78:2: note: previous implicit declaration of 'bfs_verror' was here bfs_verror(ctx, format, args); ^~~~~~~~~~ src/bftw.c: In function 'bftw_delayed_unwrap': src/list.h:199:7: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (item->next || list->tail == &item->next) ^ src/list.h:196:2: note: in expansion of macro 'SLIST_ATTACHED_' SLIST_ATTACHED_((list), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~~~ src/bftw.c:985:7: note: in expansion of macro 'SLIST_ATTACHED' if (!SLIST_ATTACHED(&state->to_close, file, ready)) { ^~~~~~~~~~~~~~ src/bfs.h:77:51: error: 'C' undeclared (first use in this function) #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/list.h:199:9: note: in definition of macro 'SLIST_ATTACHED_' (item->next || list->tail == &item->next) ^~~~ src/list.h:139:2: note: in expansion of macro 'BFS_VA_IF' BFS_VA_IF(node)(node.next)(next) ^~~~~~~~~ src/list.h:196:34: note: in expansion of macro 'LIST_NEXT_' SLIST_ATTACHED_((list), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:985:7: note: in expansion of macro 'SLIST_ATTACHED' if (!SLIST_ATTACHED(&state->to_close, file, ready)) { ^~~~~~~~~~~~~~ cc1: some warnings being treated as errors src/bftw.c:985:46: error: 'ready' undeclared (first use in this function); did you mean 'xread'? if (!SLIST_ATTACHED(&state->to_close, file, ready)) { ^ src/list.h:199:9: note: in definition of macro 'SLIST_ATTACHED_' (item->next || list->tail == &item->next) ^~~~ src/list.h:196:34: note: in expansion of macro 'LIST_NEXT_' SLIST_ATTACHED_((list), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:985:7: note: in expansion of macro 'SLIST_ATTACHED' if (!SLIST_ATTACHED(&state->to_close, file, ready)) { ^~~~~~~~~~~~~~ src/list.h:139:29: error: 'next' undeclared (first use in this function); did you mean 'exit'? BFS_VA_IF(node)(node.next)(next) ^ src/list.h:199:9: note: in definition of macro 'SLIST_ATTACHED_' (item->next || list->tail == &item->next) ^~~~ src/list.h:196:34: note: in expansion of macro 'LIST_NEXT_' SLIST_ATTACHED_((list), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/bftw.c:985:7: note: in expansion of macro 'SLIST_ATTACHED' if (!SLIST_ATTACHED(&state->to_close, file, ready)) { ^~~~~~~~~~~~~~ src/list.h:199:36: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (item->next || list->tail == &item->next) ^ src/list.h:196:2: note: in expansion of macro 'SLIST_ATTACHED_' SLIST_ATTACHED_((list), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~~~ src/bftw.c:985:7: note: in expansion of macro 'SLIST_ATTACHED' if (!SLIST_ATTACHED(&state->to_close, file, ready)) { ^~~~~~~~~~~~~~ src/color.c:554:7: error: implicit declaration of function 'dstrapp'; did you mean 'strsep'? [-Werror=implicit-function-declaration] if (dstrapp(str, c) != 0) { ^~~~~~~ strsep src/list.h:220:7: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' item->next = *cursor, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:986:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&state->to_close, file, ready); ^~~~~~~~~~~~ src/list.h:222:20: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:986:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&state->to_close, file, ready); ^~~~~~~~~~~~ src/list.h:222:47: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:986:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&state->to_close, file, ready); ^~~~~~~~~~~~ src/list.h:223:8: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' &item->next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:986:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&state->to_close, file, ready); ^~~~~~~~~~~~ src/bftw.c: In function 'bftw_file_open': src/list.h:220:7: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' item->next = *cursor, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:249:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, &(list)->head, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1173:3: note: in expansion of macro 'SLIST_PREPEND' SLIST_PREPEND(&parents, cur); ^~~~~~~~~~~~~ src/color.c: In function 'parse_gnu_ls_colors': src/color.c:589:8: error: implicit declaration of function 'dstrxcpy'; did you mean 'strlcpy'? [-Werror=implicit-function-declaration] if (dstrxcpy(&key, chunk, equals - chunk) != 0) { ^~~~~~~~ strlcpy src/bfs.h:77:51: error: 'C' undeclared (first use in this function) #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:139:2: note: in expansion of macro 'BFS_VA_IF' BFS_VA_IF(node)(node.next)(next) ^~~~~~~~~ src/list.h:216:42: note: in expansion of macro 'LIST_NEXT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:249:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, &(list)->head, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1173:3: note: in expansion of macro 'SLIST_PREPEND' SLIST_PREPEND(&parents, cur); ^~~~~~~~~~~~~ src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:216:42: note: in expansion of macro 'LIST_NEXT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:249:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, &(list)->head, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1173:3: note: in expansion of macro 'SLIST_PREPEND' SLIST_PREPEND(&parents, cur); ^~~~~~~~~~~~~ src/list.h:139:29: error: 'next' undeclared (first use in this function); did you mean 'exit'? BFS_VA_IF(node)(node.next)(next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:216:42: note: in expansion of macro 'LIST_NEXT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:249:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, &(list)->head, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1173:3: note: in expansion of macro 'SLIST_PREPEND' SLIST_PREPEND(&parents, cur); ^~~~~~~~~~~~~ src/list.h:222:20: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:249:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, &(list)->head, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1173:3: note: in expansion of macro 'SLIST_PREPEND' SLIST_PREPEND(&parents, cur); ^~~~~~~~~~~~~ src/list.h:222:47: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:249:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, &(list)->head, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1173:3: note: in expansion of macro 'SLIST_PREPEND' SLIST_PREPEND(&parents, cur); ^~~~~~~~~~~~~ gmake: *** [Makefile:237: obj/src/ctx.o] Error 1 src/list.h:223:8: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' &item->next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:249:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, &(list)->head, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1173:3: note: in expansion of macro 'SLIST_PREPEND' SLIST_PREPEND(&parents, cur); ^~~~~~~~~~~~~ src/list.h:297:25: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^ src/list.h:294:2: note: in expansion of macro 'SLIST_REMOVE_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/list.h:356:27: note: in expansion of macro 'SLIST_POP' for (type *item; (item = SLIST_POP(list, __VA_ARGS__));) ^~~~~~~~~ src/bftw.c:1177:2: note: in expansion of macro 'drain_slist' drain_slist (struct bftw_file, cur, &parents) { ^~~~~~~~~~~ src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:297:27: note: in definition of macro 'SLIST_REMOVE_' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^~~~ src/list.h:294:34: note: in expansion of macro 'LIST_NEXT_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/list.h:356:27: note: in expansion of macro 'SLIST_POP' for (type *item; (item = SLIST_POP(list, __VA_ARGS__));) ^~~~~~~~~ src/bftw.c:1177:2: note: in expansion of macro 'drain_slist' drain_slist (struct bftw_file, cur, &parents) { ^~~~~~~~~~~ src/list.h:298:61: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (typeof(*cursor))slist_remove_(*cursor, cursor, &(*cursor)->next, sizeof(*cursor))) ^ src/list.h:294:2: note: in expansion of macro 'SLIST_REMOVE_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/list.h:356:27: note: in expansion of macro 'SLIST_POP' for (type *item; (item = SLIST_POP(list, __VA_ARGS__));) ^~~~~~~~~ src/bftw.c:1177:2: note: in expansion of macro 'drain_slist' drain_slist (struct bftw_file, cur, &parents) { ^~~~~~~~~~~ src/diag.c: In function 'bfs_verror': src/diag.c:99:2: error: implicit declaration of function 'bfs_error_prefix'; did you mean 'bfs_error'? [-Werror=implicit-function-declaration] bfs_error_prefix(ctx); ^~~~~~~~~~~~~~~~ bfs_error src/color.c: In function 'parse_bsd_ls_colors': src/color.c:677:15: error: implicit declaration of function 'dstralloc'; did you mean 'tzalloc'? [-Werror=implicit-function-declaration] dchar *buf = dstralloc(8); ^~~~~~~~~ tzalloc src/color.c:677:15: warning: initialization makes pointer from integer without a cast [-Wint-conversion] src/bftw.c: In function 'bftw_must_stat': src/bftw.c:1444:3: error: expected expression before '[' token [[fallthrough]]; ^ src/diag.c:100:2: error: implicit declaration of function 'cvfprintf'; did you mean 'vfprintf'? [-Werror=implicit-function-declaration] cvfprintf(ctx->cerr, format, args); ^~~~~~~~~ vfprintf src/diag.c: At top level: src/diag.c:103:6: warning: no previous declaration for 'bfs_vwarning' [-Wmissing-declarations] bool bfs_vwarning(const struct bfs_ctx *ctx, const char *format, va_list args) { ^~~~~~~~~~~~ src/diag.c:103:6: error: conflicting types for 'bfs_vwarning' src/diag.c:85:13: note: previous implicit declaration of 'bfs_vwarning' was here bool ret = bfs_vwarning(ctx, format, args); ^~~~~~~~~~~~ src/color.c:692:8: error: implicit declaration of function 'dstrcat'; did you mean 'strcat'? [-Werror=implicit-function-declaration] if (dstrcat(&buf, fg_code) != 0) { ^~~~~~~ strcat In file included from src/color.c:6:0: src/color.c: In function 'parse_colors': src/alloc.h:154:10: error: implicit declaration of function 'alloc'; did you mean 'alloca'? [-Werror=implicit-function-declaration] (type *)alloc(alignof(type), sizeof(type)) ^ src/color.c:724:26: note: in expansion of macro 'ALLOC' struct colors *colors = ALLOC(struct colors); ^~~~~ src/alloc.h:74:29: error: 'struct esc_seq' has no member named 'seq' ALIGN_CEIL(alignof(type), offsetof(type, member)) >= sizeof(type), \ ^ src/alloc.h:83:47: note: in definition of macro 'ASSERT_FLEX_ABI_' ((void)sizeof(struct { char _; static_assert(__VA_ARGS__); })) ^~~~~~~~~~~ src/alloc.h:74:3: note: in expansion of macro 'ALIGN_CEIL' ALIGN_CEIL(alignof(type), offsetof(type, member)) >= sizeof(type), \ ^~~~~~~~~~ src/alloc.h:331:3: note: in expansion of macro 'ASSERT_FLEX_ABI' (ASSERT_FLEX_ABI(type, member), varena_init( \ ^~~~~~~~~~~~~~~ src/color.c:729:2: note: in expansion of macro 'VARENA_INIT' VARENA_INIT(&colors->esc_arena, struct esc_seq, seq); ^~~~~~~~~~~ src/alloc.h:34:2: error: expression in static assertion is not an integer ((((size) - 1) | ((align) - 1)) + 1) ^ src/alloc.h:83:47: note: in definition of macro 'ASSERT_FLEX_ABI_' ((void)sizeof(struct { char _; static_assert(__VA_ARGS__); })) ^~~~~~~~~~~ src/alloc.h:74:3: note: in expansion of macro 'ALIGN_CEIL' ALIGN_CEIL(alignof(type), offsetof(type, member)) >= sizeof(type), \ ^~~~~~~~~~ src/alloc.h:331:3: note: in expansion of macro 'ASSERT_FLEX_ABI' (ASSERT_FLEX_ABI(type, member), varena_init( \ ^~~~~~~~~~~~~~~ src/color.c:729:2: note: in expansion of macro 'VARENA_INIT' VARENA_INIT(&colors->esc_arena, struct esc_seq, seq); ^~~~~~~~~~~ In file included from src/bfs.h:12:0, from src/color.h:11, from src/color.c:4: src/alloc.h:332:26: error: 'struct esc_seq' has no member named 'seq' varena, alignof(type), offsetof(type, member), sizeof_member(type, member[0]))) ^ src/color.c:729:2: note: in expansion of macro 'VARENA_INIT' VARENA_INIT(&colors->esc_arena, struct esc_seq, seq); ^~~~~~~~~~~ In file included from src/color.c:6:0: src/alloc.h:63:23: error: 'struct esc_seq' has no member named 'seq' sizeof(((type *)NULL)->member) ^ src/alloc.h:332:50: note: in expansion of macro 'sizeof_member' varena, alignof(type), offsetof(type, member), sizeof_member(type, member[0]))) ^~~~~~~~~~~~~ src/color.c:729:2: note: in expansion of macro 'VARENA_INIT' VARENA_INIT(&colors->esc_arena, struct esc_seq, seq); ^~~~~~~~~~~ src/color.c:821:15: warning: initialization makes pointer from integer without a cast [-Wint-conversion] dchar *ec = dstralloc(0); ^~~~~~~~~ src/color.c: In function 'cfwrap': src/color.c:860:16: warning: assignment makes pointer from integer without a cast [-Wint-conversion] cfile->buffer = dstralloc(128); ^ src/bftw.c:1444:5: error: 'fallthrough' undeclared (first use in this function) [[fallthrough]]; ^~~~~~~~~~~ src/bftw.c: In function 'bftw_ioq_stat': src/bftw.c:1468:25: warning: initialization makes pointer from integer without a cast [-Wint-conversion] struct bfs_stat *buf = arena_alloc(&cache->stat_bufs); ^~~~~~~~~~~ src/diag.c: In function 'bfs_vwarning': src/diag.c:104:6: error: implicit declaration of function 'bfs_warning_prefix'; did you mean 'bfs_warning'? [-Werror=implicit-function-declaration] if (bfs_warning_prefix(ctx)) { ^~~~~~~~~~~~~~~~~~ bfs_warning src/color.c: In function 'cpath_init': src/diag.c: At top level: src/diag.c:112:6: warning: no previous declaration for 'bfs_vdebug' [-Wmissing-declarations] bool bfs_vdebug(const struct bfs_ctx *ctx, enum debug_flags flag, const char *format, va_list args) { ^~~~~~~~~~ src/diag.c:112:6: error: conflicting types for 'bfs_vdebug' src/diag.c:93:13: note: previous implicit declaration of 'bfs_vdebug' was here bool ret = bfs_vdebug(ctx, flag, format, args); ^~~~~~~~~~ src/color.c:1008:14: error: implicit declaration of function 'dstrxdup'; did you mean 'strndup'? [-Werror=implicit-function-declaration] at_path = dstrxdup(ftwbuf->path, ftwbuf->nameoff); ^~~~~~~~ strndup src/color.c:1008:12: warning: assignment makes pointer from integer without a cast [-Wint-conversion] at_path = dstrxdup(ftwbuf->path, ftwbuf->nameoff); ^ src/color.c:1016:11: warning: assignment makes pointer from integer without a cast [-Wint-conversion] at_path = dstralloc(cpath->valid); ^ src/bftw.c: In function 'bftw_build_path': src/bftw.c:1565:6: error: implicit declaration of function 'dstresize'; did you mean 'dstreserve'? [-Werror=implicit-function-declaration] if (dstresize(&state->path, pathlen) != 0) { ^~~~~~~~~ dstreserve In file included from src/bftw.c:30:0: src/bftw.c: In function 'bftw_gc': src/list.h:297:25: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^ src/list.h:294:2: note: in expansion of macro 'SLIST_REMOVE_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/list.h:356:27: note: in expansion of macro 'SLIST_POP' for (type *item; (item = SLIST_POP(list, __VA_ARGS__));) ^~~~~~~~~ src/bftw.c:1882:2: note: in expansion of macro 'drain_slist' drain_slist (struct bftw_file, dead, &state->to_close, ready) { ^~~~~~~~~~~ src/bfs.h:77:51: error: 'C' undeclared (first use in this function) #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/list.h:297:27: note: in definition of macro 'SLIST_REMOVE_' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^~~~ src/list.h:139:2: note: in expansion of macro 'BFS_VA_IF' BFS_VA_IF(node)(node.next)(next) ^~~~~~~~~ src/list.h:294:34: note: in expansion of macro 'LIST_NEXT_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/list.h:356:27: note: in expansion of macro 'SLIST_POP' for (type *item; (item = SLIST_POP(list, __VA_ARGS__));) ^~~~~~~~~ src/bftw.c:1882:2: note: in expansion of macro 'drain_slist' drain_slist (struct bftw_file, dead, &state->to_close, ready) { ^~~~~~~~~~~ src/color.c: In function 'print_wordesc': src/color.c:1256:9: error: implicit declaration of function 'dstrnescat'; did you mean 'strncat'? [-Werror=implicit-function-declaration] return dstrnescat(&cfile->buffer, str, n, flags); ^~~~~~~~~~ strncat In file included from src/bfstd.h:11:0, from src/bfstd.c:4: src/bfstd.c: In function 'xclose': src/color.c: At top level: src/bftw.c:1882:57: error: 'ready' undeclared (first use in this function); did you mean 'dead'? drain_slist (struct bftw_file, dead, &state->to_close, ready) { ^ src/list.h:297:27: note: in definition of macro 'SLIST_REMOVE_' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^~~~ src/list.h:294:34: note: in expansion of macro 'LIST_NEXT_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/list.h:356:27: note: in expansion of macro 'SLIST_POP' for (type *item; (item = SLIST_POP(list, __VA_ARGS__));) ^~~~~~~~~ src/bftw.c:1882:2: note: in expansion of macro 'drain_slist' drain_slist (struct bftw_file, dead, &state->to_close, ready) { ^~~~~~~~~~~ src/color.c:1392:1: error: expected identifier or '(' before '[' token [[_printf(2, 3)]] ^ src/bfs.h:77:24: error: implicit declaration of function 'BFS_VA_IF_AB__VA_OPT__'; did you mean 'BFS_VA_IF_ABC'? [-Werror=implicit-function-declaration] #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/diag.h:88:22: note: in expansion of macro 'BFS_VA_IF' ((cond) ? (void)0 : BFS_VA_IF(__VA_ARGS__) \ ^~~~~~~~~ src/bfstd.c:776:3: note: in expansion of macro 'bfs_verify' bfs_verify(errno != EBADF); ^~~~~~~~~~ src/list.h:139:29: error: 'next' undeclared (first use in this function); did you mean 'ret'? BFS_VA_IF(node)(node.next)(next) ^ src/list.h:297:27: note: in definition of macro 'SLIST_REMOVE_' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^~~~ src/list.h:294:34: note: in expansion of macro 'LIST_NEXT_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/list.h:356:27: note: in expansion of macro 'SLIST_POP' for (type *item; (item = SLIST_POP(list, __VA_ARGS__));) ^~~~~~~~~ src/bftw.c:1882:2: note: in expansion of macro 'drain_slist' drain_slist (struct bftw_file, dead, &state->to_close, ready) { ^~~~~~~~~~~ src/diag.c: In function 'bfs_vdebug': src/diag.c:113:6: error: implicit declaration of function 'bfs_debug_prefix'; did you mean 'bfs_debug'? [-Werror=implicit-function-declaration] if (bfs_debug_prefix(ctx, flag)) { ^~~~~~~~~~~~~~~~ bfs_debug src/list.h:298:61: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (typeof(*cursor))slist_remove_(*cursor, cursor, &(*cursor)->next, sizeof(*cursor))) ^ src/list.h:294:2: note: in expansion of macro 'SLIST_REMOVE_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/list.h:356:27: note: in expansion of macro 'SLIST_POP' for (type *item; (item = SLIST_POP(list, __VA_ARGS__));) ^~~~~~~~~ src/bftw.c:1882:2: note: in expansion of macro 'drain_slist' drain_slist (struct bftw_file, dead, &state->to_close, ready) { ^~~~~~~~~~~ src/bfs.h:77:51: error: 'C' undeclared (first use in this function) #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/diag.h:88:22: note: in expansion of macro 'BFS_VA_IF' ((cond) ? (void)0 : BFS_VA_IF(__VA_ARGS__) \ ^~~~~~~~~ src/bfstd.c:776:3: note: in expansion of macro 'bfs_verify' bfs_verify(errno != EBADF); ^~~~~~~~~~ src/diag.c: At top level: src/diag.c:126:6: warning: no previous declaration for 'bfs_error_prefix' [-Wmissing-declarations] void bfs_error_prefix(const struct bfs_ctx *ctx) { ^~~~~~~~~~~~~~~~ src/diag.c:126:6: warning: conflicting types for 'bfs_error_prefix' src/diag.c:99:2: note: previous implicit declaration of 'bfs_error_prefix' was here bfs_error_prefix(ctx); ^~~~~~~~~~~~~~~~ src/color.c: In function 'print_expr_name': src/bfs.h:77:51: note: each undeclared identifier is reported only once for each function it appears in #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/diag.h:88:22: note: in expansion of macro 'BFS_VA_IF' ((cond) ? (void)0 : BFS_VA_IF(__VA_ARGS__) \ ^~~~~~~~~ src/bfstd.c:776:3: note: in expansion of macro 'bfs_verify' bfs_verify(errno != EBADF); ^~~~~~~~~~ src/color.c:1399:10: error: implicit declaration of function 'cbuff' [-Werror=implicit-function-declaration] return cbuff(cfile, "${cyn}%pq${rs}", expr->argv[0]); ^~~~~ src/bftw.c: In function 'bftw_list_sort': src/list.h:297:25: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^ src/list.h:294:2: note: in expansion of macro 'SLIST_REMOVE_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:1928:32: note: in expansion of macro 'SLIST_POP' struct bftw_file *tortoise = SLIST_POP(list); ^~~~~~~~~ src/color.c: At top level: src/color.c:1476:1: error: expected identifier or '(' before '[' token [[_printf(2, 0)]] ^ src/diag.c: In function 'bfs_error_prefix': src/diag.c:127:2: error: implicit declaration of function 'cfprintf'; did you mean 'vfprintf'? [-Werror=implicit-function-declaration] cfprintf(ctx->cerr, "${bld}%s:${rs} ${err}error:${rs} ", bfs_cmd(ctx)); ^~~~~~~~ vfprintf src/bfs.h:77:51: error: 'C' undeclared (first use in this function) #define BFS_VA_IF(...) BFS_VA_IF_AB ## __VA_OPT__(C) ^ src/list.h:297:27: note: in definition of macro 'SLIST_REMOVE_' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^~~~ src/list.h:139:2: note: in expansion of macro 'BFS_VA_IF' BFS_VA_IF(node)(node.next)(next) ^~~~~~~~~ src/list.h:294:34: note: in expansion of macro 'LIST_NEXT_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:1928:32: note: in expansion of macro 'SLIST_POP' struct bftw_file *tortoise = SLIST_POP(list); ^~~~~~~~~ src/diag.c: At top level: src/diag.c:130:6: warning: no previous declaration for 'bfs_warning_prefix' [-Wmissing-declarations] bool bfs_warning_prefix(const struct bfs_ctx *ctx) { ^~~~~~~~~~~~~~~~~~ src/diag.c:130:6: error: conflicting types for 'bfs_warning_prefix' src/diag.c:104:6: note: previous implicit declaration of 'bfs_warning_prefix' was here if (bfs_warning_prefix(ctx)) { ^~~~~~~~~~~~~~~~~~ src/diag.c:139:6: warning: no previous declaration for 'bfs_debug_prefix' [-Wmissing-declarations] bool bfs_debug_prefix(const struct bfs_ctx *ctx, enum debug_flags flag) { ^~~~~~~~~~~~~~~~ src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:297:27: note: in definition of macro 'SLIST_REMOVE_' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^~~~ src/list.h:294:34: note: in expansion of macro 'LIST_NEXT_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:1928:32: note: in expansion of macro 'SLIST_POP' struct bftw_file *tortoise = SLIST_POP(list); ^~~~~~~~~ src/diag.c:139:6: error: conflicting types for 'bfs_debug_prefix' src/diag.c:113:6: note: previous implicit declaration of 'bfs_debug_prefix' was here if (bfs_debug_prefix(ctx, flag)) { ^~~~~~~~~~~~~~~~ src/color.c:1660:12: error: conflicting types for 'cbuff' static int cbuff(CFILE *cfile, const char *format, ...) { ^~~~~ src/color.c:1660:1: note: a parameter list with an ellipsis can't match an empty parameter name list declaration static int cbuff(CFILE *cfile, const char *format, ...) { ^~~~~~ src/color.c:1399:10: note: previous implicit declaration of 'cbuff' was here return cbuff(cfile, "${cyn}%pq${rs}", expr->argv[0]); ^~~~~ src/list.h:139:29: error: 'next' undeclared (first use in this function); did you mean 'left'? BFS_VA_IF(node)(node.next)(next) ^ src/list.h:297:27: note: in definition of macro 'SLIST_REMOVE_' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^~~~ src/list.h:294:34: note: in expansion of macro 'LIST_NEXT_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:1928:32: note: in expansion of macro 'SLIST_POP' struct bftw_file *tortoise = SLIST_POP(list); ^~~~~~~~~ In file included from src/bfstd.c:8:0: src/diag.h:63:2: error: implicit declaration of function 'bfs_abortf'; did you mean 'bfs_abort'? [-Werror=implicit-function-declaration] bfs_abortf(BFS_DIAG_FORMAT_(format), BFS_DIAG_ARGS_(__VA_ARGS__)) ^ src/diag.h:89:4: note: in expansion of macro 'bfs_abort' (bfs_abort(__VA_ARGS__)) \ ^~~~~~~~~ src/bfstd.c:776:3: note: in expansion of macro 'bfs_verify' bfs_verify(errno != EBADF); ^~~~~~~~~~ src/list.h:298:61: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (typeof(*cursor))slist_remove_(*cursor, cursor, &(*cursor)->next, sizeof(*cursor))) ^ src/list.h:294:2: note: in expansion of macro 'SLIST_REMOVE_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:1928:32: note: in expansion of macro 'SLIST_POP' struct bftw_file *tortoise = SLIST_POP(list); ^~~~~~~~~ src/diag.h:23:10: error: expected expression before ')' token ((format) ? "%s: %s@%s:%d: " format "%s" : "") ^ src/diag.h:63:13: note: in expansion of macro 'BFS_DIAG_FORMAT_' bfs_abortf(BFS_DIAG_FORMAT_(format), BFS_DIAG_ARGS_(__VA_ARGS__)) ^~~~~~~~~~~~~~~~ src/diag.h:89:4: note: in expansion of macro 'bfs_abort' (bfs_abort(__VA_ARGS__)) \ ^~~~~~~~~ src/bfstd.c:776:3: note: in expansion of macro 'bfs_verify' bfs_verify(errno != EBADF); ^~~~~~~~~~ src/color.c: In function 'cbuff': In file included from src/diag.c:6:0: src/diag.c: In function 'bfs_argv_diag': src/list.h:220:7: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' item->next = *cursor, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1929:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&left, tortoise); ^~~~~~~~~~~~ src/alloc.h:166:10: error: implicit declaration of function 'zalloc'; did you mean 'valloc'? [-Werror=implicit-function-declaration] (type *)zalloc(alignof(type), sizeof_array(type, count)) ^ src/diag.c:191:17: note: in expansion of macro 'ZALLOC_ARRAY' dchar **argv = ZALLOC_ARRAY(dchar *, ctx->argc); ^~~~~~~~~~~~ src/color.c:1663:12: error: implicit declaration of function 'cvbuff'; did you mean 'cbuff'? [-Werror=implicit-function-declaration] int ret = cvbuff(cfile, format, args); ^~~~~~ cbuff src/color.c: At top level: src/color.c:1668:5: warning: no previous declaration for 'cvfprintf' [-Wmissing-declarations] int cvfprintf(CFILE *cfile, const char *format, va_list args) { ^~~~~~~~~ src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:216:42: note: in expansion of macro 'LIST_NEXT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1929:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&left, tortoise); ^~~~~~~~~~~~ src/color.c:1683:5: warning: no previous declaration for 'cfprintf' [-Wmissing-declarations] int cfprintf(CFILE *cfile, const char *format, ...) { ^~~~~~~~ src/list.h:222:20: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1929:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&left, tortoise); ^~~~~~~~~~~~ src/color.c: In function 'cfreset': src/color.c:1698:36: error: 'const struct esc_seq' has no member named 'seq' size_t ret = xwrite(cfile->fd, esc->seq, esc->len); ^~ src/list.h:222:47: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1929:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&left, tortoise); ^~~~~~~~~~~~ src/list.h:223:8: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' &item->next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1929:3: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(&left, tortoise); ^~~~~~~~~~~~ src/list.h:297:25: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^ src/list.h:294:2: note: in expansion of macro 'SLIST_REMOVE_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:1943:4: note: in expansion of macro 'SLIST_POP' SLIST_POP(&left); ^~~~~~~~~ src/diag.c:197:7: error: implicit declaration of function 'dstrescat'; did you mean 'strlcat'? [-Werror=implicit-function-declaration] if (dstrescat(&argv[i], ctx->argv[i], WESC_SHELL | WESC_TTY) != 0) { ^~~~~~~~~ strlcat src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:297:27: note: in definition of macro 'SLIST_REMOVE_' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^~~~ src/list.h:294:34: note: in expansion of macro 'LIST_NEXT_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:1943:4: note: in expansion of macro 'SLIST_POP' SLIST_POP(&left); ^~~~~~~~~ src/list.h:298:61: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (typeof(*cursor))slist_remove_(*cursor, cursor, &(*cursor)->next, sizeof(*cursor))) ^ src/list.h:294:2: note: in expansion of macro 'SLIST_REMOVE_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:1943:4: note: in expansion of macro 'SLIST_POP' SLIST_POP(&left); ^~~~~~~~~ src/diag.c: At top level: src/list.h:220:7: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' item->next = *cursor, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1944:4: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(list, lf); ^~~~~~~~~~~~ src/diag.c:264:6: warning: no previous declaration for 'bfs_argv_error' [-Wmissing-declarations] void bfs_argv_error(const struct bfs_ctx *ctx, const bool args[]) { ^~~~~~~~~~~~~~ src/diag.c:268:6: warning: no previous declaration for 'bfs_expr_error' [-Wmissing-declarations] void bfs_expr_error(const struct bfs_ctx *ctx, const struct bfs_expr *expr) { ^~~~~~~~~~~~~~ src/diag.c:275:6: warning: no previous declaration for 'bfs_argv_warning' [-Wmissing-declarations] bool bfs_argv_warning(const struct bfs_ctx *ctx, const bool args[]) { ^~~~~~~~~~~~~~~~ src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:216:42: note: in expansion of macro 'LIST_NEXT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1944:4: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(list, lf); ^~~~~~~~~~~~ src/diag.c:284:6: warning: no previous declaration for 'bfs_expr_warning' [-Wmissing-declarations] bool bfs_expr_warning(const struct bfs_ctx *ctx, const struct bfs_expr *expr) { ^~~~~~~~~~~~~~~~ src/list.h:222:20: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1944:4: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(list, lf); ^~~~~~~~~~~~ src/list.h:222:47: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1944:4: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(list, lf); ^~~~~~~~~~~~ src/diag.h:29:60: error: implicit declaration of function '__VA_OPT__'; did you mean '__CHAR_BIT__'? [-Werror=implicit-function-declaration] xgetprogname(), __func__, __FILE__, __LINE__, __VA_ARGS__ __VA_OPT__(,) "\n" ^ src/diag.h:63:39: note: in expansion of macro 'BFS_DIAG_ARGS_' bfs_abortf(BFS_DIAG_FORMAT_(format), BFS_DIAG_ARGS_(__VA_ARGS__)) ^~~~~~~~~~~~~~ src/diag.h:89:4: note: in expansion of macro 'bfs_abort' (bfs_abort(__VA_ARGS__)) \ ^~~~~~~~~ src/bfstd.c:776:3: note: in expansion of macro 'bfs_verify' bfs_verify(errno != EBADF); ^~~~~~~~~~ src/list.h:223:8: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' &item->next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1944:4: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(list, lf); ^~~~~~~~~~~~ src/list.h:297:25: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^ src/list.h:294:2: note: in expansion of macro 'SLIST_REMOVE_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:1946:4: note: in expansion of macro 'SLIST_POP' SLIST_POP(&right); ^~~~~~~~~ src/diag.h:29:60: error: expected ')' before '__VA_OPT__' xgetprogname(), __func__, __FILE__, __LINE__, __VA_ARGS__ __VA_OPT__(,) "\n" ^ src/diag.h:63:39: note: in expansion of macro 'BFS_DIAG_ARGS_' bfs_abortf(BFS_DIAG_FORMAT_(format), BFS_DIAG_ARGS_(__VA_ARGS__)) ^~~~~~~~~~~~~~ src/diag.h:90:4: note: in expansion of macro 'bfs_abort' (bfs_abort("Assertion failed: `%s`", #cond))) ^~~~~~~~~ src/bfstd.c:776:3: note: in expansion of macro 'bfs_verify' bfs_verify(errno != EBADF); ^~~~~~~~~~ src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:297:27: note: in definition of macro 'SLIST_REMOVE_' (list->tail = (*cursor)->next ? list->tail : cursor, \ ^~~~ src/list.h:294:34: note: in expansion of macro 'LIST_NEXT_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:1946:4: note: in expansion of macro 'SLIST_POP' SLIST_POP(&right); ^~~~~~~~~ src/list.h:298:61: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' (typeof(*cursor))slist_remove_(*cursor, cursor, &(*cursor)->next, sizeof(*cursor))) ^ src/list.h:294:2: note: in expansion of macro 'SLIST_REMOVE_' SLIST_REMOVE_((list), (cursor), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:321:18: note: in expansion of macro 'SLIST_REMOVE' ((list)->head ? SLIST_REMOVE(list, &(list)->head, __VA_ARGS__) : NULL) ^~~~~~~~~~~~ src/bftw.c:1946:4: note: in expansion of macro 'SLIST_POP' SLIST_POP(&right); ^~~~~~~~~ src/list.h:220:7: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' item->next = *cursor, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1947:4: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(list, rf); ^~~~~~~~~~~~ src/list.h:139:22: error: expected expression before '.' token BFS_VA_IF(node)(node.next)(next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:216:42: note: in expansion of macro 'LIST_NEXT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1947:4: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(list, rf); ^~~~~~~~~~~~ src/list.h:222:20: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1947:4: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(list, rf); ^~~~~~~~~~~~ src/list.h:222:47: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' list->tail = item->next ? list->tail : &item->next, \ ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1947:4: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(list, rf); ^~~~~~~~~~~~ src/list.h:223:8: error: 'struct bftw_file' has no member named 'BFS_VA_IF_AB__VA_OPT__' &item->next) ^ src/list.h:116:33: note: in definition of macro 'LIST_VOID_' #define LIST_VOID_(...) ((void)(__VA_ARGS__)) ^~~~~~~~~~~ src/list.h:216:2: note: in expansion of macro 'SLIST_INSERT_' SLIST_INSERT_((list), (cursor), (item), LIST_NEXT_(__VA_ARGS__)) ^~~~~~~~~~~~~ src/list.h:236:13: note: in expansion of macro 'SLIST_INSERT' LIST_VOID_(SLIST_INSERT(list, (list)->tail, item, __VA_ARGS__)) ^~~~~~~~~~~~ src/bftw.c:1947:4: note: in expansion of macro 'SLIST_APPEND' SLIST_APPEND(list, rf); ^~~~~~~~~~~~ cc1: some warnings being treated as errors cc1: some warnings being treated as errors gmake: *** [Makefile:237: obj/src/diag.o] Error 1 gmake: *** [Makefile:237: obj/src/color.o] Error 1 src/bftw.c: In function 'bftw_must_stat': src/bftw.c:1441:6: warning: this statement may fall through [-Wimplicit-fallthrough=] if (!(bftw_stat_flags(state, depth) & BFS_STAT_NOFOLLOW)) { ^ src/bftw.c:1446:2: note: here default: ^~~~~~~ cc1: some warnings being treated as errors cc1: some warnings being treated as errors gmake: *** [Makefile:237: obj/src/bftw.o] Error 1 gmake: *** [Makefile:237: obj/src/bfstd.o] Error 1 *** Error code 2 Stop. make[1]: stopped in /usr/pkgsrc/sysutils/bfs *** Error code 1 Stop. make: stopped in /usr/pkgsrc/sysutils/bfs