>>> sd-tools: Building community/sd-tools 0.99.0-r0 (using abuild 3.13.0-r5) started Sat, 05 Oct 2024 15:11:30 +0000 >>> sd-tools: Checking sanity of /home/buildozer/aports/community/sd-tools/APKBUILD... >>> sd-tools: Analyzing dependencies... >>> sd-tools: Installing for build: build-base acl-dev clang libcap-dev meson (1/24) Installing acl-dev (2.3.2-r1) (2/24) Installing clang18-headers (18.1.8-r0) (3/24) Installing libffi (3.4.6-r0) (4/24) Installing xz-libs (5.6.3-r0) (5/24) Installing libxml2 (2.12.8-r0) (6/24) Installing llvm18-libs (18.1.8-r0) (7/24) Installing clang18-libs (18.1.8-r0) (8/24) Installing llvm18-linker-tools (18.1.8-r0) (9/24) Installing clang18 (18.1.8-r0) (10/24) Installing linux-headers (6.6-r0) (11/24) Installing libcap-dev (2.70-r0) (12/24) Installing samurai (1.2-r5) (13/24) Installing libbz2 (1.0.8-r6) (14/24) Installing gdbm (1.24-r0) (15/24) Installing mpdecimal (4.0.0-r0) (16/24) Installing libpanelw (6.5_p20240601-r1) (17/24) Installing sqlite-libs (3.46.1-r0) (18/24) Installing python3 (3.12.6-r0) (19/24) Installing python3-pycache-pyc0 (3.12.6-r0) (20/24) Installing pyc (3.12.6-r0) (21/24) Installing meson-pyc (1.5.2-r0) (22/24) Installing python3-pyc (3.12.6-r0) (23/24) Installing meson (1.5.2-r0) (24/24) Installing .makedepends-sd-tools (20241005.151131) Executing busybox-1.36.1-r32.trigger OK: 477 MiB in 127 packages >>> sd-tools: Cleaning up srcdir >>> sd-tools: Cleaning up pkgdir >>> sd-tools: Cleaning up tmpdir >>> sd-tools: Fetching https://distfiles.alpinelinux.org/distfiles/edge/sd-tools-0.99.0.tar.gz >>> sd-tools: Fetching https://distfiles.alpinelinux.org/distfiles/edge/sd-tools-0.99.0.tar.gz >>> sd-tools: Checking sha512sums... sd-tools-0.99.0.tar.gz: OK drop-bash-dep.patch: OK >>> sd-tools: Unpacking /var/cache/distfiles/edge/sd-tools-0.99.0.tar.gz... >>> sd-tools: drop-bash-dep.patch patching file test/test-sysusers.sh The Meson build system Version: 1.5.2 Source dir: /home/buildozer/aports/community/sd-tools/src/sd-tools-0.99.0 Build dir: /home/buildozer/aports/community/sd-tools/src/sd-tools-0.99.0/output Build type: native build Project name: sd-tools Project version: 0.99.0 C compiler for the host machine: clang (clang 18.1.8 "Alpine clang version 18.1.8") C linker for the host machine: clang ld.bfd 2.43.1 Host machine cpu family: arm Host machine cpu: armv8l Compiler for C supports arguments -Wno-gnu-statement-expression-from-macro-expansion: NO Compiler for C supports arguments -Wno-gnu-zero-variadic-macro-arguments: NO Compiler for C supports arguments -Wno-gnu-conditional-omitted-operand: NO Compiler for C supports arguments -Wno-zero-length-array: NO Compiler for C supports arguments -Wno-unused-parameter: NO Compiler for C supports arguments -Wno-language-extension-token: NO Compiler for C supports arguments -Wno-c2x-extensions: NO Compiler for C supports arguments -Wno-extra-semi: NO Compiler for C supports arguments -Wshadow: NO Compiler for C supports arguments -fno-strict-aliasing: NO Compiler for C supports arguments -fvisibility=hidden: NO Library rt found: YES Library m found: YES Found pkg-config: YES (/usr/bin/pkg-config) 2.3.0 Run-time dependency libcap found: YES 2.70 Run-time dependency libacl found: YES 2.3.2 Checking for function "fgetsgent" : NO Configuring config.h using configuration Program test-tmpfiles.py found: YES (/home/buildozer/aports/community/sd-tools/src/sd-tools-0.99.0/test/test-tmpfiles.py) Program test-sysusers.sh found: YES (/home/buildozer/aports/community/sd-tools/src/sd-tools-0.99.0/test/test-sysusers.sh) Build targets in project: 3 sd-tools 0.99.0 User defined options auto_features : auto bindir : /usr/bin buildtype : plain datadir : /usr/share includedir : /usr/include infodir : /usr/share/info libdir : /usr/lib libexecdir : /usr/libexec localedir : /usr/share/locale localstatedir : /var mandir : /usr/share/man prefix : /usr sbindir : /usr/sbin sharedstatedir : /var/lib sysconfdir : /etc werror : false wrap_mode : nodownload python.bytecompile: 0 b_lto : false b_pie : true b_staticpic : true Found ninja-1.9 at /usr/bin/ninja ninja: entering directory '/home/buildozer/aports/community/sd-tools/src/sd-tools-0.99.0/output' [1/38] Compiling C object src/sysusers/sd-sysusers.p/sysusers.c.o [2/38] Compiling C object src/shared/libshared.a.p/xattr-util.c.o [3/38] Compiling C object src/shared/libshared.a.p/utf8.c.o [4/38] Compiling C object src/shared/libshared.a.p/user-util.c.o [5/38] Compiling C object src/shared/libshared.a.p/tmpfile-util.c.o [6/38] Compiling C object src/shared/libshared.a.p/strv.c.o [7/38] Compiling C object src/shared/libshared.a.p/string-util.c.o [8/38] Compiling C object src/shared/libshared.a.p/stat-util.c.o [9/38] Compiling C object src/shared/libshared.a.p/specifier.c.o [10/38] Compiling C object src/shared/libshared.a.p/smack-util.c.o [11/38] Compiling C object src/shared/libshared.a.p/siphash24.c.o [12/38] Compiling C object src/shared/libshared.a.p/selinux-util.c.o [13/38] Compiling C object src/shared/libshared.a.p/rm-rf.c.o [14/38] Compiling C object src/shared/libshared.a.p/random-util.c.o [15/38] Compiling C object src/shared/libshared.a.p/path-util.c.o [16/38] Compiling C object src/shared/libshared.a.p/mountpoint-util.c.o [17/38] Compiling C object src/shared/libshared.a.p/mkdir.c.o [18/38] Compiling C object src/shared/libshared.a.p/log.c.o [19/38] Compiling C object src/shared/libshared.a.p/lock-util.c.o [20/38] Compiling C object src/shared/libshared.a.p/label-util.c.o [21/38] Compiling C object src/shared/libshared.a.p/hashmap.c.o [22/38] Compiling C object src/shared/libshared.a.p/hash-funcs.c.o [23/38] Compiling C object src/shared/libshared.a.p/fs-util.c.o [24/38] Compiling C object src/shared/libshared.a.p/fileio.c.o [25/38] Compiling C object src/shared/libshared.a.p/fd-util.c.o [26/38] Compiling C object src/shared/libshared.a.p/extract-word.c.o [27/38] Compiling C object src/shared/libshared.a.p/escape.c.o [28/38] Compiling C object src/shared/libshared.a.p/dirent-util.c.o [29/38] Compiling C object src/shared/libshared.a.p/copy.c.o [30/38] Compiling C object src/shared/libshared.a.p/conf-files.c.o [31/38] Compiling C object src/shared/libshared.a.p/chase.c.o [32/38] Compiling C object src/shared/libshared.a.p/btrfs-util.c.o [33/38] Compiling C object src/shared/libshared.a.p/acl-util.c.o [34/38] Compiling C object src/tmpfiles/sd-tmpfiles.p/offline-passwd.c.o [35/38] Compiling C object src/tmpfiles/sd-tmpfiles.p/tmpfiles.c.o clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] ../src/shared/selinux-util.c:15:25: warning: unused parameter 'atfd' [-Wunused-parameter] 15 | int mac_selinux_fix(int atfd, const char *inode_path, const char *label_path) { |  ^ ../src/shared/selinux-util.c:15:43: warning: unused parameter 'inode_path' [-Wunused-parameter] 15 | int mac_selinux_fix(int atfd, const char *inode_path, const char *label_path) { |  ^ ../src/shared/selinux-util.c:15:67: warning: unused parameter 'label_path' [-Wunused-parameter] 15 | int mac_selinux_fix(int atfd, const char *inode_path, const char *label_path) { |  ^ ../src/shared/selinux-util.c:19:44: warning: unused parameter 'dir_fd' [-Wunused-parameter] 19 | int mac_selinux_create_file_prepare_at(int dir_fd, const char *path, mode_t mode) { |  ^ ../src/shared/selinux-util.c:19:64: warning: unused parameter 'path' [-Wunused-parameter] 19 | int mac_selinux_create_file_prepare_at(int dir_fd, const char *path, mode_t mode) { |  ^ ../src/shared/selinux-util.c:19:77: warning: unused parameter 'mode' [-Wunused-parameter] 19 | int mac_selinux_create_file_prepare_at(int dir_fd, const char *path, mode_t mode) { |  ^ 6 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] ../src/shared/smack-util.c:20:23: warning: unused parameter 'atfd' [-Wunused-parameter] 20 | int mac_smack_fix(int atfd, const char *inode_path, const char *label_path) { |  ^ ../src/shared/smack-util.c:20:41: warning: unused parameter 'inode_path' [-Wunused-parameter] 20 | int mac_smack_fix(int atfd, const char *inode_path, const char *label_path) { |  ^ ../src/shared/smack-util.c:20:65: warning: unused parameter 'label_path' [-Wunused-parameter] 20 | int mac_smack_fix(int atfd, const char *inode_path, const char *label_path) { |  ^ ../src/shared/smack-util.c:32:36: warning: unused parameter 'dir_fd' [-Wunused-parameter] 32 | static int mac_smack_label_pre(int dir_fd, const char *path, mode_t mode) { |  ^ ../src/shared/smack-util.c:32:56: warning: unused parameter 'path' [-Wunused-parameter] 32 | static int mac_smack_label_pre(int dir_fd, const char *path, mode_t mode) { |  ^ ../src/shared/smack-util.c:32:69: warning: unused parameter 'mode' [-Wunused-parameter] 32 | static int mac_smack_label_pre(int dir_fd, const char *path, mode_t mode) { |  ^ 6 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/label-util.c:8: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ 1 warning generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/dirent-util.c:6: In file included from ../src/shared/dirent-util.h:8: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/dirent-util.c:6: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:9: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/dirent-util.c:6: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: In file included from ../src/shared/string-util.h:8: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/dirent-util.c:6: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: In file included from ../src/shared/string-util.h:8: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/dirent-util.c:6: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/dirent-util.c:6: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/dirent-util.c:6: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/dirent-util.c:6: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/dirent-util.c:6: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/dirent-util.c:6: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ 103 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/siphash24.c:24: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/siphash24.c:25: In file included from ../src/shared/siphash24.h:10: In file included from ../src/shared/string-util.h:8: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/siphash24.c:25: In file included from ../src/shared/siphash24.h:10: In file included from ../src/shared/string-util.h:8: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/siphash24.c:25: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/siphash24.c:25: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/siphash24.c:25: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/siphash24.c:25: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ ../src/shared/siphash24.c:80:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 80 | const uint8_t *in = ASSERT_PTR(_in); |  ^ ../src/shared/macro.h:106:26: note: expanded from macro 'ASSERT_PTR' 106 | #define ASSERT_PTR(expr) _ASSERT_PTR(expr, UNIQ_T(_expr_, UNIQ), assert) |  ^ ../src/shared/macro.h:109:10: note: expanded from macro '_ASSERT_PTR' 109 | ({ \ |  ^ ../src/shared/siphash24.c:80:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:106:26: note: expanded from macro 'ASSERT_PTR' 106 | #define ASSERT_PTR(expr) _ASSERT_PTR(expr, UNIQ_T(_expr_, UNIQ), assert) |  ^ ../src/shared/macro.h:110:17: note: expanded from macro '_ASSERT_PTR' 110 | typeof(expr) var = (expr); \ |  ^ 11 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/lock-util.c:12: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/lock-util.c:12: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/lock-util.c:12: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/lock-util.c:13: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/lock-util.c:13: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/lock-util.c:13: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/lock-util.c:13: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/lock-util.c:13: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/lock-util.c:13: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/lock-util.c:13: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/lock-util.c:13: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/lock-util.c:13: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/lock-util.c:13: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/lock-util.c:13: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/lock-util.c:13: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/lock-util.c:13: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/lock-util.c:13: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/lock-util.c:13: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/lock-util.c:13: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/lock-util.c:13: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/lock-util.c:13: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/lock-util.c:13: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/shared/lock-util.c:16: In file included from ../src/shared/path-util.h:9: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/lock-util.c:16: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/lock-util.c:16: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/lock-util.c:16: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/lock-util.c:16: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/lock-util.c:16: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/lock-util.c:16: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ 124 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/hash-funcs.c:5: In file included from ../src/shared/hash-funcs.h:4: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/hash-funcs.c:5: In file included from ../src/shared/hash-funcs.h:4: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/hash-funcs.c:5: In file included from ../src/shared/hash-funcs.h:4: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/hash-funcs.c:5: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/hash-funcs.c:5: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/hash-funcs.c:5: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/hash-funcs.c:5: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/hash-funcs.c:6: In file included from ../src/shared/path-util.h:9: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/hash-funcs.c:6: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/hash-funcs.c:6: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ ../src/shared/hash-funcs.c:14:1: warning: extra ';' outside of a function [-Wextra-semi] 14 | DEFINE_HASH_OPS_WITH_KEY_DESTRUCTOR(string_hash_ops_free, | ^ ../src/shared/hash-funcs.h:59:9: note: expanded from macro 'DEFINE_HASH_OPS_WITH_KEY_DESTRUCTOR' 59 | _DEFINE_HASH_OPS_WITH_KEY_DESTRUCTOR(UNIQ, name, type, hash_func, compare_func, free_func,) |  ^ ../src/shared/hash-funcs.h:36:68: note: expanded from macro '_DEFINE_HASH_OPS_WITH_KEY_DESTRUCTOR' 36 | _DEFINE_FREE_FUNC(uq, type, static_free_wrapper, free_func); \ |  ^ ../src/shared/hash-funcs.c:16:1: warning: extra ';' outside of a function [-Wextra-semi] 16 | DEFINE_HASH_OPS_FULL(string_hash_ops_free_free, | ^ ../src/shared/hash-funcs.h:71:9: note: expanded from macro 'DEFINE_HASH_OPS_FULL' 71 | _DEFINE_HASH_OPS_FULL(UNIQ, name, type, hash_func, compare_func, free_key_func, value_type, free_value_func,) |  ^ ../src/shared/hash-funcs.h:46:76: note: expanded from macro '_DEFINE_HASH_OPS_FULL' 46 | _DEFINE_FREE_FUNC(uq, type, static_free_key_wrapper, free_key_func); \ |  ^ ../src/shared/hash-funcs.c:16:1: warning: extra ';' outside of a function [-Wextra-semi] ../src/shared/hash-funcs.h:71:9: note: expanded from macro 'DEFINE_HASH_OPS_FULL' 71 | _DEFINE_HASH_OPS_FULL(UNIQ, name, type, hash_func, compare_func, free_key_func, value_type, free_value_func,) |  ^ ../src/shared/hash-funcs.h:47:86: note: expanded from macro '_DEFINE_HASH_OPS_FULL' 47 | _DEFINE_FREE_FUNC(uq, type_value, static_free_value_wrapper, free_value_func); \ |  ^ ../src/shared/hash-funcs.c:19:1: warning: extra ';' outside of a function [-Wextra-semi] 19 | DEFINE_HASH_OPS_FULL(string_hash_ops_free_strv_free, | ^ ../src/shared/hash-funcs.h:71:9: note: expanded from macro 'DEFINE_HASH_OPS_FULL' 71 | _DEFINE_HASH_OPS_FULL(UNIQ, name, type, hash_func, compare_func, free_key_func, value_type, free_value_func,) |  ^ ../src/shared/hash-funcs.h:46:76: note: expanded from macro '_DEFINE_HASH_OPS_FULL' 46 | _DEFINE_FREE_FUNC(uq, type, static_free_key_wrapper, free_key_func); \ |  ^ ../src/shared/hash-funcs.c:19:1: warning: extra ';' outside of a function [-Wextra-semi] ../src/shared/hash-funcs.h:71:9: note: expanded from macro 'DEFINE_HASH_OPS_FULL' 71 | _DEFINE_HASH_OPS_FULL(UNIQ, name, type, hash_func, compare_func, free_key_func, value_type, free_value_func,) |  ^ ../src/shared/hash-funcs.h:47:86: note: expanded from macro '_DEFINE_HASH_OPS_FULL' 47 | _DEFINE_FREE_FUNC(uq, type_value, static_free_value_wrapper, free_value_func); \ |  ^ ../src/shared/hash-funcs.c:63:1: warning: extra ';' outside of a function [-Wextra-semi] 63 | DEFINE_HASH_OPS_WITH_KEY_DESTRUCTOR(path_hash_ops_free, | ^ ../src/shared/hash-funcs.h:59:9: note: expanded from macro 'DEFINE_HASH_OPS_WITH_KEY_DESTRUCTOR' 59 | _DEFINE_HASH_OPS_WITH_KEY_DESTRUCTOR(UNIQ, name, type, hash_func, compare_func, free_func,) |  ^ ../src/shared/hash-funcs.h:36:68: note: expanded from macro '_DEFINE_HASH_OPS_WITH_KEY_DESTRUCTOR' 36 | _DEFINE_FREE_FUNC(uq, type, static_free_wrapper, free_func); \ |  ^ ../src/shared/hash-funcs.c:65:1: warning: extra ';' outside of a function [-Wextra-semi] 65 | DEFINE_HASH_OPS_FULL(path_hash_ops_free_free, | ^ ../src/shared/hash-funcs.h:71:9: note: expanded from macro 'DEFINE_HASH_OPS_FULL' 71 | _DEFINE_HASH_OPS_FULL(UNIQ, name, type, hash_func, compare_func, free_key_func, value_type, free_value_func,) |  ^ ../src/shared/hash-funcs.h:46:76: note: expanded from macro '_DEFINE_HASH_OPS_FULL' 46 | _DEFINE_FREE_FUNC(uq, type, static_free_key_wrapper, free_key_func); \ |  ^ ../src/shared/hash-funcs.c:65:1: warning: extra ';' outside of a function [-Wextra-semi] ../src/shared/hash-funcs.h:71:9: note: expanded from macro 'DEFINE_HASH_OPS_FULL' 71 | _DEFINE_HASH_OPS_FULL(UNIQ, name, type, hash_func, compare_func, free_key_func, value_type, free_value_func,) |  ^ ../src/shared/hash-funcs.h:47:86: note: expanded from macro '_DEFINE_HASH_OPS_FULL' 47 | _DEFINE_FREE_FUNC(uq, type_value, static_free_value_wrapper, free_value_func); \ |  ^ ../src/shared/hash-funcs.c:74:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 74 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ ../src/shared/hash-funcs.c:74:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ ../src/shared/hash-funcs.c:74:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ 114 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/random-util.c:17: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/random-util.c:17: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/random-util.c:17: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/random-util.c:18: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/random-util.c:18: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/random-util.c:18: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/random-util.c:18: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/random-util.c:18: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/random-util.c:18: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/random-util.c:18: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/random-util.c:18: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/random-util.c:18: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/random-util.c:18: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/random-util.c:18: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/random-util.c:18: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/random-util.c:18: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/random-util.c:18: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/random-util.c:18: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/random-util.c:18: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/random-util.c:18: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/random-util.c:18: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/random-util.c:18: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/random-util.c:19: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/shared/random-util.c:24:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 24 | uint8_t *p = ASSERT_PTR(buf); |  ^ ../src/shared/macro.h:106:26: note: expanded from macro 'ASSERT_PTR' 106 | #define ASSERT_PTR(expr) _ASSERT_PTR(expr, UNIQ_T(_expr_, UNIQ), assert) |  ^ ../src/shared/macro.h:109:10: note: expanded from macro '_ASSERT_PTR' 109 | ({ \ |  ^ ../src/shared/random-util.c:24:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:106:26: note: expanded from macro 'ASSERT_PTR' 106 | #define ASSERT_PTR(expr) _ASSERT_PTR(expr, UNIQ_T(_expr_, UNIQ), assert) |  ^ ../src/shared/macro.h:110:17: note: expanded from macro '_ASSERT_PTR' 110 | typeof(expr) var = (expr); \ |  ^ 52 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/user-util.c:14: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/user-util.c:14: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/user-util.c:14: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/user-util.c:15: In file included from ../src/shared/chase.h:7: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/user-util.c:16: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/user-util.c:16: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/user-util.c:16: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/user-util.c:16: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/user-util.c:16: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/user-util.c:16: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/user-util.c:16: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/user-util.c:16: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/user-util.c:16: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/user-util.c:16: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/user-util.c:16: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/user-util.c:16: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/user-util.c:16: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/user-util.c:16: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/user-util.c:16: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/user-util.c:16: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/user-util.c:16: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/user-util.c:16: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/user-util.c:16: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/user-util.c:17: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/user-util.c:22: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/user-util.c:22: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/user-util.c:22: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/user-util.c:22: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/user-util.c:22: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/user-util.c:22: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ 150 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/stat-util.c:11: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/stat-util.c:11: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/stat-util.c:11: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/stat-util.c:12: In file included from ../src/shared/chase.h:7: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/stat-util.c:13: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/stat-util.c:13: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/stat-util.c:13: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/stat-util.c:13: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/stat-util.c:13: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/stat-util.c:13: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ In file included from ../src/shared/stat-util.c:14: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/stat-util.c:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/stat-util.c:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/stat-util.c:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/stat-util.c:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/stat-util.c:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/stat-util.c:14: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/stat-util.c:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/stat-util.c:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/stat-util.c:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/stat-util.c:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/stat-util.c:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/stat-util.c:14: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/stat-util.c:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/stat-util.c:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/stat-util.c:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/stat-util.c:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/stat-util.c:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/stat-util.c:14: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/stat-util.c:15: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/stat-util.c:17: ../src/shared/fs-util.h:34:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 34 | return mfree(p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/stat-util.c:17: ../src/shared/fs-util.h:34:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/stat-util.c:17: ../src/shared/fs-util.h:36:52: warning: extra ';' outside of a function [-Wextra-semi] 36 | DEFINE_TRIVIAL_CLEANUP_FUNC(char*, unlink_and_free); |  ^ 153 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/extract-word.c:11: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/extract-word.c:11: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/extract-word.c:11: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/extract-word.c:15: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/extract-word.c:15: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/extract-word.c:15: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/extract-word.c:15: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/extract-word.c:16: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/extract-word.c:16: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ ../src/shared/extract-word.c:157:42: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 157 | else if (IN_SET(c, '\'', '"') && (flags & (EXTRACT_KEEP_QUOTE | EXTRACT_UNQUOTE))) { |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/extract-word.c:157:42: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/extract-word.c:157:42: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/extract-word.c:157:42: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/extract-word.c:157:42: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/extract-word.c:157:42: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/extract-word.c:206:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 206 | *ret = TAKE_PTR(s); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/extract-word.c:206:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/extract-word.c:206:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/extract-word.c:206:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ 112 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/escape.c:7: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/escape.c:7: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/escape.c:7: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/escape.c:10: In file included from ../src/shared/strv.h:12: In file included from ../src/shared/hashmap.h:8: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/escape.c:10: In file included from ../src/shared/strv.h:12: In file included from ../src/shared/hashmap.h:8: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/escape.c:10: In file included from ../src/shared/strv.h:12: In file included from ../src/shared/hashmap.h:8: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/escape.c:10: In file included from ../src/shared/strv.h:12: In file included from ../src/shared/hashmap.h:8: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/escape.c:10: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/escape.c:10: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ ../src/shared/escape.c:268:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 268 | *ret = TAKE_PTR(ans); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/escape.c:268:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/escape.c:268:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/escape.c:268:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ 106 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/log.c:15: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/log.c:15: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/log.c:15: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/log.c:16: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/log.c:16: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/log.c:16: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/log.c:16: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/log.c:16: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/log.c:16: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/log.c:16: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/log.c:16: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/log.c:16: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/log.c:16: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/log.c:16: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/log.c:16: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/log.c:16: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/log.c:16: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/log.c:16: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/log.c:16: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/log.c:16: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/log.c:16: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/log.c:16: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/log.c:17: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/log.c:20: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/log.c:20: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/log.c:20: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/log.c:20: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/log.c:21: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/log.c:21: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ 149 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/mkdir.c:7: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/mkdir.c:7: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/mkdir.c:7: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/mkdir.c:9: In file included from ../src/shared/chase.h:7: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/mkdir.c:10: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/mkdir.c:11: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/mkdir.c:11: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/mkdir.c:11: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mkdir.c:11: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mkdir.c:11: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mkdir.c:11: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mkdir.c:11: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/mkdir.c:11: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/mkdir.c:11: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mkdir.c:11: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mkdir.c:11: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mkdir.c:11: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mkdir.c:11: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/mkdir.c:11: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/mkdir.c:11: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mkdir.c:11: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mkdir.c:11: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mkdir.c:11: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mkdir.c:11: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/shared/mkdir.c:11: ../src/shared/fs-util.h:34:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 34 | return mfree(p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/mkdir.c:11: ../src/shared/fs-util.h:34:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/mkdir.c:11: ../src/shared/fs-util.h:36:52: warning: extra ';' outside of a function [-Wextra-semi] 36 | DEFINE_TRIVIAL_CLEANUP_FUNC(char*, unlink_and_free); |  ^ In file included from ../src/shared/mkdir.c:14: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/mkdir.c:14: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/mkdir.c:14: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/mkdir.c:14: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/mkdir.c:14: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/mkdir.c:14: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ ../src/shared/mkdir.c:94:24: warning: extension used [-Wlanguage-extension-token] 94 | assert(IN_SET(s[n], '/', '\0')); |  ^ ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/mkdir.c:94:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/mkdir.c:94:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/mkdir.c:94:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/mkdir.c:94:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/mkdir.c:94:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/mkdir.c:94:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/mkdir.c:94:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/mkdir.c:94:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ 162 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/tmpfile-util.c:5: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/tmpfile-util.c:5: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/tmpfile-util.c:5: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/tmpfile-util.c:6: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/tmpfile-util.c:8: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/shared/tmpfile-util.c:8: ../src/shared/fs-util.h:34:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 34 | return mfree(p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: ../src/shared/fs-util.h:34:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/tmpfile-util.c:8: ../src/shared/fs-util.h:36:52: warning: extra ';' outside of a function [-Wextra-semi] 36 | DEFINE_TRIVIAL_CLEANUP_FUNC(char*, unlink_and_free); |  ^ In file included from ../src/shared/tmpfile-util.c:10: In file included from ../src/shared/path-util.h:9: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/tmpfile-util.c:10: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/tmpfile-util.c:10: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/tmpfile-util.c:10: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/tmpfile-util.c:10: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/tmpfile-util.c:10: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/tmpfile-util.c:10: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ ../src/shared/tmpfile-util.c:36:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 36 | *ret_file = TAKE_PTR(f); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/tmpfile-util.c:36:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/tmpfile-util.c:36:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/tmpfile-util.c:36:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/tmpfile-util.c:57:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 57 | *ret_path = TAKE_PTR(t); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/tmpfile-util.c:57:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/tmpfile-util.c:57:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/tmpfile-util.c:57:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/tmpfile-util.c:88:34: warning: extension used [-Wlanguage-extension-token] 88 | if (len_pre > NAME_MAX - STRLEN(".#") || |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/shared/tmpfile-util.c:89:35: warning: extension used [-Wlanguage-extension-token] 89 | len_post > NAME_MAX - STRLEN(".#") - len_pre) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/shared/tmpfile-util.c:92:40: warning: extension used [-Wlanguage-extension-token] 92 | len_add = len_pre + len_post + STRLEN(".#"); |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/shared/tmpfile-util.c:120:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 120 | result = path_simplify(TAKE_PTR(d)); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/tmpfile-util.c:120:40: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/tmpfile-util.c:120:40: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/tmpfile-util.c:120:40: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/tmpfile-util.c:122:26: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 122 | result = TAKE_PTR(nf); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/tmpfile-util.c:122:26: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/tmpfile-util.c:122:26: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/tmpfile-util.c:122:26: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/tmpfile-util.c:127:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 127 | *ret = TAKE_PTR(result); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/tmpfile-util.c:127:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/tmpfile-util.c:127:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/tmpfile-util.c:127:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ 176 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/xattr-util.c:8: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/xattr-util.c:8: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/xattr-util.c:8: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/xattr-util.c:9: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/xattr-util.c:10: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/xattr-util.c:11: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/xattr-util.c:11: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/xattr-util.c:11: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/xattr-util.c:11: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ ../src/shared/xattr-util.c:80:50: warning: extension used [-Wlanguage-extension-token] 80 | n = by_procfs ? getxattr(FORMAT_PROC_FD_PATH(fd), name, v, l) : fgetxattr(fd, name, v, l); |  ^ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/shared/xattr-util.c:80:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/xattr-util.c:80:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/xattr-util.c:80:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/xattr-util.c:80:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/xattr-util.c:80:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/xattr-util.c:80:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/xattr-util.c:80:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/xattr-util.c:80:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/xattr-util.c:80:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/xattr-util.c:80:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/xattr-util.c:80:50: warning: zero size arrays are an extension [-Wzero-length-array] 80 | n = by_procfs ? getxattr(FORMAT_PROC_FD_PATH(fd), name, v, l) : fgetxattr(fd, name, v, l); |  ^~~~~~~~~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/shared/xattr-util.c:80:50: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] ../src/shared/fd-util.h:67:54: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/xattr-util.c:94:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | *ret = TAKE_PTR(v); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/xattr-util.c:94:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/xattr-util.c:94:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/xattr-util.c:94:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/xattr-util.c:101:50: warning: extension used [-Wlanguage-extension-token] 101 | n = by_procfs ? getxattr(FORMAT_PROC_FD_PATH(fd), name, NULL, 0) : fgetxattr(fd, name, NULL, 0); |  ^ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/shared/xattr-util.c:101:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/xattr-util.c:101:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/xattr-util.c:101:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/xattr-util.c:101:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/xattr-util.c:101:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/xattr-util.c:101:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/xattr-util.c:101:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/xattr-util.c:101:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/xattr-util.c:101:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/xattr-util.c:101:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/xattr-util.c:101:50: warning: zero size arrays are an extension [-Wzero-length-array] 101 | n = by_procfs ? getxattr(FORMAT_PROC_FD_PATH(fd), name, NULL, 0) : fgetxattr(fd, name, NULL, 0); |  ^~~~~~~~~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/shared/xattr-util.c:101:50: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] ../src/shared/fd-util.h:67:54: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/xattr-util.c:166:51: warning: extension used [-Wlanguage-extension-token] 166 | n = by_procfs ? listxattr(FORMAT_PROC_FD_PATH(fd), v, l) : flistxattr(fd, v, l); |  ^ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/shared/xattr-util.c:166:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/xattr-util.c:166:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/xattr-util.c:166:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/xattr-util.c:166:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/xattr-util.c:166:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/xattr-util.c:166:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/xattr-util.c:166:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/xattr-util.c:166:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/xattr-util.c:166:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/xattr-util.c:166:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/xattr-util.c:166:51: warning: zero size arrays are an extension [-Wzero-length-array] 166 | n = by_procfs ? listxattr(FORMAT_PROC_FD_PATH(fd), v, l) : flistxattr(fd, v, l); |  ^~~~~~~~~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/shared/xattr-util.c:166:51: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] ../src/shared/fd-util.h:67:54: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/xattr-util.c:180:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 180 | *ret = TAKE_PTR(v); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/xattr-util.c:180:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/xattr-util.c:180:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/xattr-util.c:180:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/xattr-util.c:187:51: warning: extension used [-Wlanguage-extension-token] 187 | n = by_procfs ? listxattr(FORMAT_PROC_FD_PATH(fd), NULL, 0) : flistxattr(fd, NULL, 0); |  ^ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/shared/xattr-util.c:187:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/xattr-util.c:187:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/xattr-util.c:187:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/xattr-util.c:187:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/xattr-util.c:187:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/xattr-util.c:187:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/xattr-util.c:187:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/xattr-util.c:187:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/xattr-util.c:187:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/xattr-util.c:187:51: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/xattr-util.c:187:51: warning: zero size arrays are an extension [-Wzero-length-array] 187 | n = by_procfs ? listxattr(FORMAT_PROC_FD_PATH(fd), NULL, 0) : flistxattr(fd, NULL, 0); |  ^~~~~~~~~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/shared/xattr-util.c:187:51: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] ../src/shared/fd-util.h:67:54: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/xattr-util.c:258:42: warning: extension used [-Wlanguage-extension-token] 258 | r = by_procfs ? setxattr(FORMAT_PROC_FD_PATH(fd), name, value, size, 0) |  ^ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/shared/xattr-util.c:258:42: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/xattr-util.c:258:42: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/xattr-util.c:258:42: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/xattr-util.c:258:42: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/xattr-util.c:258:42: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/xattr-util.c:258:42: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/xattr-util.c:258:42: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/xattr-util.c:258:42: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/xattr-util.c:258:42: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/xattr-util.c:258:42: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/xattr-util.c:258:42: warning: zero size arrays are an extension [-Wzero-length-array] 258 | r = by_procfs ? setxattr(FORMAT_PROC_FD_PATH(fd), name, value, size, 0) |  ^~~~~~~~~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/shared/xattr-util.c:258:42: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] ../src/shared/fd-util.h:67:54: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ 109 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/tmpfiles/offline-passwd.c:8: In file included from ../src/shared/chase.h:7: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: In file included from ../src/shared/fd-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:13: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:13: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: ../src/shared/fs-util.h:34:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 34 | return mfree(p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: ../src/shared/fs-util.h:34:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:10: ../src/shared/fs-util.h:36:52: warning: extra ';' outside of a function [-Wextra-semi] 36 | DEFINE_TRIVIAL_CLEANUP_FUNC(char*, unlink_and_free); |  ^ In file included from ../src/tmpfiles/offline-passwd.c:11: In file included from ../src/tmpfiles/offline-passwd.h:6: In file included from ../src/shared/hashmap.h:8: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:11: In file included from ../src/tmpfiles/offline-passwd.h:6: In file included from ../src/shared/hashmap.h:8: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:11: In file included from ../src/tmpfiles/offline-passwd.h:6: In file included from ../src/shared/hashmap.h:8: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:11: In file included from ../src/tmpfiles/offline-passwd.h:6: In file included from ../src/shared/hashmap.h:8: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/tmpfiles/offline-passwd.c:11: In file included from ../src/tmpfiles/offline-passwd.h:6: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/tmpfiles/offline-passwd.c:12: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ ../src/tmpfiles/offline-passwd.c:15:1: warning: extra ';' outside of a function [-Wextra-semi] 15 | DEFINE_PRIVATE_HASH_OPS_WITH_KEY_DESTRUCTOR(uid_gid_hash_ops, char, string_hash_func, string_compare_func, free); | ^ ../src/shared/hash-funcs.h:62:9: note: expanded from macro 'DEFINE_PRIVATE_HASH_OPS_WITH_KEY_DESTRUCTOR' 62 | _DEFINE_HASH_OPS_WITH_KEY_DESTRUCTOR(UNIQ, name, type, hash_func, compare_func, free_func, static) |  ^ ../src/shared/hash-funcs.h:36:68: note: expanded from macro '_DEFINE_HASH_OPS_WITH_KEY_DESTRUCTOR' 36 | _DEFINE_FREE_FUNC(uq, type, static_free_wrapper, free_func); \ |  ^ ../src/tmpfiles/offline-passwd.c:42:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 42 | TAKE_FD(fd); |  ^ ../src/shared/fd-util.h:38:21: note: expanded from macro 'TAKE_FD' 38 | #define TAKE_FD(fd) TAKE_GENERIC(fd, int, -EBADF) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ In file included from ../src/tmpfiles/offline-passwd.c:9: In file included from ../src/shared/fd-util.h:10: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/offline-passwd.c:48:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 48 | log_debug("Reading %s entries from %s...", strna(bn), p); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/offline-passwd.c:48:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/offline-passwd.c:51:21: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 51 | *ret_file = TAKE_PTR(f); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/tmpfiles/offline-passwd.c:51:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/offline-passwd.c:51:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/offline-passwd.c:51:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ In file included from ../src/tmpfiles/offline-passwd.c:12: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:98:37: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 98 | _FOREACH_STRING(UNIQ, x, y, ##__VA_ARGS__) |  ^ ../src/shared/strv.h:93:85: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 93 | for (const char *x, * const*UNIQ_T(l, uniq) = STRV_MAKE_CONST(({ x = y; }), ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/offline-passwd.c:66:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 66 | FOREACH_STRING(fname, "/etc/passwd", "/usr/lib/passwd") { |  ^ ../src/shared/strv.h:98:9: note: expanded from macro 'FOREACH_STRING' 98 | _FOREACH_STRING(UNIQ, x, y, ##__VA_ARGS__) |  ^ ../src/shared/strv.h:93:72: note: expanded from macro '_FOREACH_STRING' 93 | for (const char *x, * const*UNIQ_T(l, uniq) = STRV_MAKE_CONST(({ x = y; }), ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/offline-passwd.c:84:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 84 | if (IN_SET(r, 0, -EEXIST)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/offline-passwd.c:84:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/offline-passwd.c:84:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/offline-passwd.c:84:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/offline-passwd.c:84:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/offline-passwd.c:84:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/offline-passwd.c:88:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 88 | TAKE_PTR(n); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/tmpfiles/offline-passwd.c:88:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/offline-passwd.c:88:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/offline-passwd.c:88:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/offline-passwd.c:92:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 92 | *ret = TAKE_PTR(cache); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/tmpfiles/offline-passwd.c:92:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/offline-passwd.c:92:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/offline-passwd.c:92:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ In file included from ../src/tmpfiles/offline-passwd.c:12: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:98:37: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 98 | _FOREACH_STRING(UNIQ, x, y, ##__VA_ARGS__) |  ^ ../src/shared/strv.h:93:85: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 93 | for (const char *x, * const*UNIQ_T(l, uniq) = STRV_MAKE_CONST(({ x = y; }), ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/offline-passwd.c:104:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 104 | FOREACH_STRING(fname, "/etc/group", "/usr/lib/group") { |  ^ ../src/shared/strv.h:98:9: note: expanded from macro 'FOREACH_STRING' 98 | _FOREACH_STRING(UNIQ, x, y, ##__VA_ARGS__) |  ^ ../src/shared/strv.h:93:72: note: expanded from macro '_FOREACH_STRING' 93 | for (const char *x, * const*UNIQ_T(l, uniq) = STRV_MAKE_CONST(({ x = y; }), ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/offline-passwd.c:122:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 122 | if (IN_SET(r, 0, -EEXIST)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/offline-passwd.c:122:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/offline-passwd.c:122:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/offline-passwd.c:122:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/offline-passwd.c:122:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/offline-passwd.c:122:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/offline-passwd.c:126:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 126 | TAKE_PTR(n); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/tmpfiles/offline-passwd.c:126:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/offline-passwd.c:126:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/offline-passwd.c:126:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/offline-passwd.c:130:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 130 | *ret = TAKE_PTR(cache); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/tmpfiles/offline-passwd.c:130:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/offline-passwd.c:130:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/offline-passwd.c:130:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ 196 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/fd-util.c:11: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/fd-util.c:11: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/fd-util.c:11: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/fd-util.c:12: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/fd-util.c:12: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/fd-util.c:12: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fd-util.c:12: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fd-util.c:12: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fd-util.c:12: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fd-util.c:12: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/fd-util.c:12: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/fd-util.c:12: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fd-util.c:12: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fd-util.c:12: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fd-util.c:12: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fd-util.c:12: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/fd-util.c:12: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/fd-util.c:12: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fd-util.c:12: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fd-util.c:12: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fd-util.c:12: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fd-util.c:12: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/fd-util.c:13: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/fd-util.c:14: ../src/shared/fs-util.h:34:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 34 | return mfree(p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/fd-util.c:14: ../src/shared/fs-util.h:34:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/fd-util.c:14: ../src/shared/fs-util.h:36:52: warning: extra ';' outside of a function [-Wextra-semi] 36 | DEFINE_TRIVIAL_CLEANUP_FUNC(char*, unlink_and_free); |  ^ In file included from ../src/shared/fd-util.c:17: In file included from ../src/shared/path-util.h:9: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/fd-util.c:17: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/fd-util.c:17: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/fd-util.c:17: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/fd-util.c:17: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/fd-util.c:17: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/fd-util.c:17: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ ../src/shared/fd-util.c:96:41: warning: extension used [-Wlanguage-extension-token] 96 | r = readlinkat_malloc(AT_FDCWD, FORMAT_PROC_FD_PATH(fd), ret); |  ^ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/shared/fd-util.c:96:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/fd-util.c:96:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/fd-util.c:96:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/fd-util.c:96:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/fd-util.c:96:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/fd-util.c:96:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/fd-util.c:96:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/fd-util.c:96:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/fd-util.c:96:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/fd-util.c:96:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/fd-util.c:96:41: warning: zero size arrays are an extension [-Wzero-length-array] 96 | r = readlinkat_malloc(AT_FDCWD, FORMAT_PROC_FD_PATH(fd), ret); |  ^~~~~~~~~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/shared/fd-util.c:96:41: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] ../src/shared/fd-util.h:67:54: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.c:143:27: warning: extension used [-Wlanguage-extension-token] 143 | int new_fd = open(FORMAT_PROC_FD_PATH(fd), flags); |  ^ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/shared/fd-util.c:143:27: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/fd-util.c:143:27: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/fd-util.c:143:27: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/fd-util.c:143:27: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/fd-util.c:143:27: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/fd-util.c:143:27: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/fd-util.c:143:27: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/fd-util.c:143:27: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/fd-util.c:143:27: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/fd-util.c:143:27: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/fd-util.c:143:27: warning: zero size arrays are an extension [-Wzero-length-array] 143 | int new_fd = open(FORMAT_PROC_FD_PATH(fd), flags); |  ^~~~~~~~~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/shared/fd-util.c:143:27: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] ../src/shared/fd-util.h:67:54: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ 179 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/string-util.c:10: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/string-util.c:10: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/string-util.c:10: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/string-util.c:13: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/string-util.c:16: In file included from ../src/shared/path-util.h:9: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/string-util.c:16: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/string-util.c:16: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/string-util.c:16: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/string-util.c:16: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/string-util.c:16: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/string-util.c:16: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ ../src/shared/string-util.c:273:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 273 | free_and_replace(*p, t); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/shared/string-util.c:273:9: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/shared/string-util.c:273:9: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ 132 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/mountpoint-util.c:8: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/mountpoint-util.c:8: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/mountpoint-util.c:8: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/mountpoint-util.c:9: In file included from ../src/shared/chase.h:7: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/mountpoint-util.c:10: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/mountpoint-util.c:12: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/shared/mountpoint-util.c:12: ../src/shared/fs-util.h:34:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 34 | return mfree(p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: ../src/shared/fs-util.h:34:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/mountpoint-util.c:12: ../src/shared/fs-util.h:36:52: warning: extra ';' outside of a function [-Wextra-semi] 36 | DEFINE_TRIVIAL_CLEANUP_FUNC(char*, unlink_and_free); |  ^ In file included from ../src/shared/mountpoint-util.c:15: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/mountpoint-util.c:15: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/mountpoint-util.c:15: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/mountpoint-util.c:15: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/mountpoint-util.c:15: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/mountpoint-util.c:15: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ ../src/shared/mountpoint-util.c:59:47: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 59 | *ret_handle = TAKE_PTR(h); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/mountpoint-util.c:59:47: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/mountpoint-util.c:59:47: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/mountpoint-util.c:59:47: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/mountpoint-util.c:172:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 172 | size = MIN3((size_t)sysconf(_SC_PAGESIZE) - 1, READ_VIRTUAL_BYTES_MAX, max_size); |  ^ ../src/shared/macro.h:147:10: note: expanded from macro 'MIN3' 147 | ({ \ |  ^ ../src/shared/mountpoint-util.c:172:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:148:23: note: expanded from macro 'MIN3' 148 | const typeof(x) _c = MIN(x, y); \ |  ^ ../src/shared/mountpoint-util.c:226:23: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 226 | buf = mfree(buf); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/shared/mountpoint-util.c:226:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/shared/mountpoint-util.c:248:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 248 | *ret_contents = TAKE_PTR(buf); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/mountpoint-util.c:248:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/mountpoint-util.c:248:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/mountpoint-util.c:248:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/mountpoint-util.c:258:19: warning: extension used [-Wlanguage-extension-token] 258 | char path[STRLEN("/proc/self/fdinfo/") + DECIMAL_STR_MAX(int)]; |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/shared/mountpoint-util.c:258:50: warning: extension used [-Wlanguage-extension-token] 258 | char path[STRLEN("/proc/self/fdinfo/") + DECIMAL_STR_MAX(int)]; |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/mountpoint-util.c:258:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/mountpoint-util.c:258:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/mountpoint-util.c:258:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/mountpoint-util.c:258:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/mountpoint-util.c:258:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/mountpoint-util.c:258:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/mountpoint-util.c:258:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/mountpoint-util.c:258:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/mountpoint-util.c:258:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/mountpoint-util.c:258:50: warning: zero size arrays are an extension [-Wzero-length-array] 258 | char path[STRLEN("/proc/self/fdinfo/") + DECIMAL_STR_MAX(int)]; |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/shared/mountpoint-util.c:332:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 332 | return !IN_SET(err, -EOPNOTSUPP, -ENOSYS, -EACCES, -EPERM, -EOVERFLOW, -EINVAL); |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/mountpoint-util.c:332:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/mountpoint-util.c:332:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/mountpoint-util.c:332:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/mountpoint-util.c:332:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/mountpoint-util.c:332:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/mountpoint-util.c:405:13: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 405 | if (IN_SET(r, -EOPNOTSUPP, -EACCES, -EPERM, -ENOSYS)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/mountpoint-util.c:405:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/mountpoint-util.c:405:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/mountpoint-util.c:405:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/mountpoint-util.c:405:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/mountpoint-util.c:405:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ 189 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/acl-util.c:8: In file included from ../src/shared/acl-util.h:12: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/acl-util.c:8: ../src/shared/acl-util.h:26:56: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(acl_t, acl_free, NULL); |  ^ ../src/shared/acl-util.h:28:62: warning: extra ';' outside of a function [-Wextra-semi] 28 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(char*, acl_free_charp, NULL); |  ^ ../src/shared/acl-util.h:30:64: warning: extra ';' outside of a function [-Wextra-semi] 30 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(uid_t*, acl_free_uid_tp, NULL); |  ^ ../src/shared/acl-util.h:32:64: warning: extra ';' outside of a function [-Wextra-semi] 32 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(gid_t*, acl_free_gid_tp, NULL); |  ^ In file included from ../src/shared/acl-util.c:9: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/acl-util.c:9: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/acl-util.c:10: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/acl-util.c:10: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/acl-util.c:10: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/acl-util.c:10: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/acl-util.c:10: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/acl-util.c:10: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/acl-util.c:10: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/acl-util.c:10: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/acl-util.c:10: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/acl-util.c:10: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/acl-util.c:10: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/acl-util.c:10: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/acl-util.c:10: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/acl-util.c:10: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/acl-util.c:10: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/acl-util.c:10: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/acl-util.c:10: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/acl-util.c:10: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/acl-util.c:10: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/shared/acl-util.c:11: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/acl-util.c:11: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/acl-util.c:11: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/acl-util.c:11: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/acl-util.c:12: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/acl-util.c:12: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ ../src/shared/acl-util.c:35:21: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 35 | if (IN_SET(tag, ACL_USER, ACL_GROUP)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/acl-util.c:35:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/acl-util.c:35:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/acl-util.c:35:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/acl-util.c:35:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/acl-util.c:35:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/acl-util.c:132:9: warning: extension used [-Wlanguage-extension-token] 132 | STRV_FOREACH(entry, split) { |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/shared/acl-util.c:154:46: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 154 | r = strv_consume(&d, TAKE_PTR(entry_join)); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/acl-util.c:154:46: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:154:46: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:154:46: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:161:54: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 161 | r = strv_consume(&e, TAKE_PTR(entry_join)); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/acl-util.c:161:54: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:161:54: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:161:54: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:163:54: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 163 | r = strv_consume(&a, TAKE_PTR(entry_join)); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/acl-util.c:163:54: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:163:54: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:163:54: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:219:27: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 219 | *ret_acl_access = TAKE_PTR(a_acl); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/acl-util.c:219:27: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:219:27: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:219:27: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:220:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 220 | *ret_acl_access_exec = TAKE_PTR(e_acl); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/acl-util.c:220:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:220:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:220:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:221:28: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 221 | *ret_acl_default = TAKE_PTR(d_acl); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/acl-util.c:221:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:221:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:221:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:330:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 330 | *ret = TAKE_PTR(applied); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/acl-util.c:330:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:330:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/acl-util.c:330:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ 162 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/fileio.c:15: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/fileio.c:15: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/fileio.c:15: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/fileio.c:16: In file included from ../src/shared/chase.h:7: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/fileio.c:17: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/fileio.c:19: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/fileio.c:19: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/fileio.c:19: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fileio.c:19: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fileio.c:19: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fileio.c:19: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fileio.c:19: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/fileio.c:19: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/fileio.c:19: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fileio.c:19: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fileio.c:19: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fileio.c:19: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fileio.c:19: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/fileio.c:19: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/fileio.c:19: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fileio.c:19: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fileio.c:19: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fileio.c:19: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fileio.c:19: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/shared/fileio.c:19: ../src/shared/fs-util.h:34:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 34 | return mfree(p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/fileio.c:19: ../src/shared/fs-util.h:34:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/fileio.c:19: ../src/shared/fs-util.h:36:52: warning: extra ';' outside of a function [-Wextra-semi] 36 | DEFINE_TRIVIAL_CLEANUP_FUNC(char*, unlink_and_free); |  ^ In file included from ../src/shared/fileio.c:23: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/fileio.c:23: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/fileio.c:23: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/fileio.c:23: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/fileio.c:23: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/fileio.c:23: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ ../src/shared/fileio.c:125:35: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 125 | *ret_fd = TAKE_FD(fd); |  ^ ../src/shared/fd-util.h:38:21: note: expanded from macro 'TAKE_FD' 38 | #define TAKE_FD(fd) TAKE_GENERIC(fd, int, -EBADF) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/fileio.c:133:9: warning: extension used [-Wlanguage-extension-token] 133 | STRV_FOREACH(i, search) { |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/shared/fileio.c:148:59: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 148 | *ret_path = path_simplify(TAKE_PTR(p)); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/fileio.c:148:59: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/fileio.c:148:59: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/fileio.c:148:59: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/fileio.c:151:43: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 151 | *ret_fd = TAKE_FD(fd); |  ^ ../src/shared/fd-util.h:38:21: note: expanded from macro 'TAKE_FD' 38 | #define TAKE_FD(fd) TAKE_GENERIC(fd, int, -EBADF) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/fileio.c:213:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 213 | *ret_path = TAKE_PTR(found_path); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/fileio.c:213:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/fileio.c:213:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/fileio.c:213:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/fileio.c:255:59: warning: extra ';' outside of a function [-Wextra-semi] 255 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, funlockfile, NULL); |  ^ ../src/shared/fileio.c:384:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 384 | *ret = TAKE_PTR(buffer); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/fileio.c:384:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/fileio.c:384:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/fileio.c:384:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/fileio.c:405:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 405 | *ret = TAKE_PTR(s); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/fileio.c:405:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/fileio.c:405:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/fileio.c:405:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ 173 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/fs-util.c:12: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/fs-util.c:12: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/fs-util.c:12: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/fs-util.c:13: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:9: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/fs-util.c:13: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/fs-util.c:13: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/fs-util.c:13: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/fs-util.c:13: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/fs-util.c:13: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/fs-util.c:13: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/fs-util.c:14: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/fs-util.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/fs-util.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/fs-util.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fs-util.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fs-util.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fs-util.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fs-util.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/fs-util.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/fs-util.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fs-util.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fs-util.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fs-util.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fs-util.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/fs-util.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/fs-util.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fs-util.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fs-util.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fs-util.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/fs-util.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/shared/fs-util.c:16: ../src/shared/fs-util.h:34:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 34 | return mfree(p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/fs-util.c:16: ../src/shared/fs-util.h:34:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/fs-util.c:16: ../src/shared/fs-util.h:36:52: warning: extra ';' outside of a function [-Wextra-semi] 36 | DEFINE_TRIVIAL_CLEANUP_FUNC(char*, unlink_and_free); |  ^ ../src/shared/fs-util.c:48:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 48 | *ret = TAKE_PTR(c); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/fs-util.c:48:40: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/fs-util.c:48:40: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/fs-util.c:48:40: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/fs-util.c:167:19: warning: extension used [-Wlanguage-extension-token] 167 | if (chmod(FORMAT_PROC_FD_PATH(fd), m) < 0) { |  ^ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/shared/fs-util.c:167:19: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/fs-util.c:167:19: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/fs-util.c:167:19: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/fs-util.c:167:19: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/fs-util.c:167:19: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/fs-util.c:167:19: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/fs-util.c:167:19: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/fs-util.c:167:19: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/fs-util.c:167:19: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/fs-util.c:167:19: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/fs-util.c:167:19: warning: zero size arrays are an extension [-Wzero-length-array] 167 | if (chmod(FORMAT_PROC_FD_PATH(fd), m) < 0) { |  ^~~~~~~~~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/shared/fs-util.c:167:19: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] ../src/shared/fd-util.h:67:54: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ In file included from ../src/shared/fs-util.c:13: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:98:37: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 98 | _FOREACH_STRING(UNIQ, x, y, ##__VA_ARGS__) |  ^ ../src/shared/strv.h:93:85: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 93 | for (const char *x, * const*UNIQ_T(l, uniq) = STRV_MAKE_CONST(({ x = y; }), ##__VA_ARGS__); \ |  ^ ../src/shared/fs-util.c:187:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 187 | FOREACH_STRING(n, "TMPDIR", "TEMP", "TMP") { |  ^ ../src/shared/strv.h:98:9: note: expanded from macro 'FOREACH_STRING' 98 | _FOREACH_STRING(UNIQ, x, y, ##__VA_ARGS__) |  ^ ../src/shared/strv.h:93:72: note: expanded from macro '_FOREACH_STRING' 93 | for (const char *x, * const*UNIQ_T(l, uniq) = STRV_MAKE_CONST(({ x = y; }), ##__VA_ARGS__); \ |  ^ ../src/shared/fs-util.c:351:21: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 351 | if (IN_SET(fd, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/fs-util.c:351:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/fs-util.c:351:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/fs-util.c:351:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/fs-util.c:351:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/fs-util.c:351:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/fs-util.c:374:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 374 | return TAKE_FD(fd); |  ^ ../src/shared/fd-util.h:38:21: note: expanded from macro 'TAKE_FD' 38 | #define TAKE_FD(fd) TAKE_GENERIC(fd, int, -EBADF) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/fs-util.c:390:16: warning: extension used [-Wlanguage-extension-token] 390 | assert(IN_SET(operation & ~LOCK_NB, LOCK_EX, LOCK_SH)); |  ^ ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/fs-util.c:390:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/fs-util.c:390:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/fs-util.c:390:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/fs-util.c:390:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/fs-util.c:390:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/fs-util.c:390:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/fs-util.c:390:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/fs-util.c:390:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/fs-util.c:394:52: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 394 | if (FLAGS_SET(open_flags, O_DIRECTORY) && !IN_SET(locktype, LOCK_BSD, LOCK_NONE)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/fs-util.c:394:52: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/fs-util.c:394:52: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/fs-util.c:394:52: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/fs-util.c:394:52: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/fs-util.c:394:52: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/fs-util.c:420:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 420 | return TAKE_FD(fd); |  ^ ../src/shared/fd-util.h:38:21: note: expanded from macro 'TAKE_FD' 38 | #define TAKE_FD(fd) TAKE_GENERIC(fd, int, -EBADF) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ 196 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/rm-rf.c:10: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/rm-rf.c:10: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/rm-rf.c:10: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/rm-rf.c:12: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:9: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/rm-rf.c:12: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/rm-rf.c:12: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/rm-rf.c:12: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/rm-rf.c:12: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/rm-rf.c:12: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/rm-rf.c:12: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/rm-rf.c:13: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/rm-rf.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/rm-rf.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/rm-rf.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/rm-rf.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/rm-rf.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/rm-rf.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/rm-rf.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/rm-rf.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/rm-rf.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/rm-rf.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/rm-rf.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/rm-rf.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/rm-rf.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/rm-rf.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/rm-rf.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/rm-rf.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/rm-rf.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/rm-rf.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/rm-rf.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/shared/rm-rf.c:14: ../src/shared/fs-util.h:34:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 34 | return mfree(p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/rm-rf.c:14: ../src/shared/fs-util.h:34:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/rm-rf.c:14: ../src/shared/fs-util.h:36:52: warning: extra ';' outside of a function [-Wextra-semi] 36 | DEFINE_TRIVIAL_CLEANUP_FUNC(char*, unlink_and_free); |  ^ ../src/shared/rm-rf.c:150:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 150 | return TAKE_FD(fd); |  ^ ../src/shared/fd-util.h:38:21: note: expanded from macro 'TAKE_FD' 38 | #define TAKE_FD(fd) TAKE_GENERIC(fd, int, -EBADF) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/rm-rf.c:175:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 175 | return TAKE_FD(fd); |  ^ ../src/shared/fd-util.h:38:21: note: expanded from macro 'TAKE_FD' 38 | #define TAKE_FD(fd) TAKE_GENERIC(fd, int, -EBADF) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/rm-rf.c:226:38: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 226 | if (!IN_SET(r, -ENOTTY, -EINVAL)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/rm-rf.c:226:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/rm-rf.c:226:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/rm-rf.c:226:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/rm-rf.c:226:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/rm-rf.c:226:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/rm-rf.c:316:35: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 316 | dirname = mfree(dirname); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/shared/rm-rf.c:316:35: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/shared/rm-rf.c:320:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 320 | d = TAKE_PTR(todos[n_todo].dir); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/rm-rf.c:320:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/rm-rf.c:320:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/rm-rf.c:320:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/rm-rf.c:321:35: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 321 | dirname = TAKE_PTR(todos[n_todo].dirname); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/rm-rf.c:321:35: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/rm-rf.c:321:35: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/rm-rf.c:321:35: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/rm-rf.c:368:57: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 368 | .dir = TAKE_PTR(d), |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/rm-rf.c:368:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/rm-rf.c:368:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/rm-rf.c:368:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/rm-rf.c:369:61: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 369 | .dirname = TAKE_PTR(dirname), |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/rm-rf.c:369:61: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/rm-rf.c:369:61: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/rm-rf.c:369:61: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/rm-rf.c:374:52: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 374 | dirname = TAKE_PTR(newdirname); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/rm-rf.c:374:52: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/rm-rf.c:374:52: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/rm-rf.c:374:52: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/rm-rf.c:407:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 407 | return log_error_errno(SYNTHETIC_ERRNO(EPERM), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/rm-rf.c:407:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/rm-rf.c:416:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 416 | if (!IN_SET(r, -ENOTTY, -EINVAL, -ENOTDIR)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/rm-rf.c:416:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/rm-rf.c:416:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/rm-rf.c:416:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/rm-rf.c:416:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/rm-rf.c:416:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/rm-rf.c:432:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 432 | if (!IN_SET(r, -ENOTDIR, -ELOOP)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/rm-rf.c:432:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/rm-rf.c:432:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/rm-rf.c:432:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/rm-rf.c:432:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/rm-rf.c:432:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ 197 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/conf-files.c:8: In file included from ../src/shared/chase.h:7: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/conf-files.c:9: In file included from ../src/shared/conf-files.h:4: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/conf-files.c:10: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: In file included from ../src/shared/string-util.h:8: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/conf-files.c:10: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: In file included from ../src/shared/string-util.h:8: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/conf-files.c:10: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/conf-files.c:10: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/conf-files.c:10: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/conf-files.c:10: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/conf-files.c:10: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/conf-files.c:10: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/conf-files.c:11: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:15:37: warning: extension used [-Wlanguage-extension-token] 15 | return (Set*) _hashmap_free(HASHMAP_BASE(s), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:15:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:15:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:15:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:19:37: warning: extension used [-Wlanguage-extension-token] 19 | return (Set*) _hashmap_free(HASHMAP_BASE(s), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:19:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:19:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:19:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:28:29: warning: extension used [-Wlanguage-extension-token] 28 | return _hashmap_get(HASHMAP_BASE((Set *) s), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:28:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:28:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:28:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:32:34: warning: extension used [-Wlanguage-extension-token] 32 | return _hashmap_contains(HASHMAP_BASE((Set *) s), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:32:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:32:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:32:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:36:32: warning: extension used [-Wlanguage-extension-token] 36 | return _hashmap_remove(HASHMAP_BASE(s), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:36:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:36:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:36:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:40:30: warning: extension used [-Wlanguage-extension-token] 40 | return _hashmap_size(HASHMAP_BASE((Set *) s)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:40:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:40:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:40:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:48:33: warning: extension used [-Wlanguage-extension-token] 48 | return _hashmap_iterate(HASHMAP_BASE((Set*) s), i, value, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:48:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:48:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:48:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:63:34: warning: extension used [-Wlanguage-extension-token] 63 | return _hashmap_get_strv(HASHMAP_BASE(s)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:63:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:63:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:63:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/shared/conf-files.c:17: ../src/shared/set.h:80:44: warning: extra ';' outside of a function [-Wextra-semi] 80 | DEFINE_TRIVIAL_CLEANUP_FUNC(Set*, set_free); |  ^ ../src/shared/set.h:81:49: warning: extra ';' outside of a function [-Wextra-semi] 81 | DEFINE_TRIVIAL_CLEANUP_FUNC(Set*, set_free_free); |  ^ In file included from ../src/shared/conf-files.c:9: In file included from ../src/shared/conf-files.h:4: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/conf-files.c:45:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 45 | log_debug("Skipping overridden file '%s/%s'.", dirpath, de->d_name); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/shared/conf-files.c:45:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/conf-files.c:62:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 62 | TAKE_PTR(n); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/conf-files.c:62:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/conf-files.c:62:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/conf-files.c:62:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/conf-files.c:63:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 63 | TAKE_PTR(p); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/conf-files.c:63:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/conf-files.c:63:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/conf-files.c:63:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/conf-files.c:110:9: warning: extension used [-Wlanguage-extension-token] 110 | STRV_FOREACH(p, dirs) { |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/shared/conf-files.c:123:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 123 | log_debug_errno(r, "Failed to chase and open directory '%s', ignoring: %m", *p); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/conf-files.c:123:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/conf-files.c:131:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 131 | log_debug_errno(r, "Failed to search for files in '%s', ignoring: %m", path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/conf-files.c:131:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/conf-files.c:159:25: warning: extension used [-Wlanguage-extension-token] 159 | STRV_FOREACH(dir, dirs) { |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/shared/conf-files.c:181:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 181 | return free_and_replace((*strv)[i], t); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/shared/conf-files.c:181:48: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/shared/conf-files.c:181:48: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ ../src/shared/conf-files.c:222:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 222 | return log_error_errno(r, "Failed to enumerate config files: %m"); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/conf-files.c:222:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/conf-files.c:227:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 227 | return log_error_errno(r, "Failed to extend config file list: %m"); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/conf-files.c:227:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/conf-files.c:234:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 234 | *ret_files = TAKE_PTR(f); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/conf-files.c:234:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/conf-files.c:234:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/conf-files.c:234:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/conf-files.c:236:37: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 236 | *ret_replace_file = TAKE_PTR(p); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/conf-files.c:236:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/conf-files.c:236:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/conf-files.c:236:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/conf-files.c:252:13: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 252 | if (IN_SET(*t, '#', ';', '\0')) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/conf-files.c:252:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/conf-files.c:252:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/conf-files.c:252:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/conf-files.c:252:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/conf-files.c:252:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/conf-files.c:276:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 276 | return log_error_errno(r, "Failed to read \"%s\": %m", filename); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/conf-files.c:276:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/conf-files.c:284:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 284 | free_and_replace(section, line); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/shared/conf-files.c:284:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/shared/conf-files.c:284:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ ../src/shared/conf-files.c:300:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 300 | free_and_replace(old_section, section); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/shared/conf-files.c:300:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/shared/conf-files.c:300:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ ../src/shared/conf-files.c:321:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 321 | return log_warning_errno(r, "Failed to cat %s: %m", file); |  ^ ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/conf-files.c:321:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/conf-files.c:324:9: warning: extension used [-Wlanguage-extension-token] 324 | STRV_FOREACH(path, dropins) { |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/shared/conf-files.c:327:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 327 | return log_warning_errno(r, "Failed to cat %s: %m", *path); |  ^ ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/conf-files.c:327:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:59: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/conf-files.c:354:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 354 | log_debug("Reading config from stdin..."); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/shared/conf-files.c:354:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/conf-files.c:359:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 359 | return log_error_errno(r, "Failed to make path absolute: %m"); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/conf-files.c:359:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/conf-files.c:366:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 366 | log_debug("Reading config file \"%s\"...", fn); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/shared/conf-files.c:366:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/conf-files.c:373:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 373 | log_debug("Reading config file \"%s\"...", fn); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/shared/conf-files.c:373:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/conf-files.c:378:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 378 | log_debug_errno(r, "Failed to open \"%s\", ignoring: %m", fn); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/conf-files.c:378:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/conf-files.c:382:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 382 | return log_error_errno(r, "Failed to read '%s': %m", fn); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/conf-files.c:382:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/conf-files.c:393:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 393 | return log_error_errno(k, "Failed to read '%s': %m", fn); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/conf-files.c:393:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/conf-files.c:399:21: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 399 | if (IN_SET(line[0], 0, '#')) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/conf-files.c:399:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/conf-files.c:399:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/conf-files.c:399:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/conf-files.c:399:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/conf-files.c:399:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/conf-files.c:414:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 414 | int k = log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to read from file %s.", fn); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/conf-files.c:414:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ 239 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/chase.c:6: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/chase.c:6: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/chase.c:6: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/chase.c:7: In file included from ../src/shared/chase.h:7: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/chase.c:8: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/chase.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/chase.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/chase.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/chase.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/chase.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/chase.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/chase.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/chase.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/chase.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/chase.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/chase.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/chase.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/chase.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/chase.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/chase.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/chase.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/chase.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/chase.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/chase.c:10: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/shared/chase.c:10: ../src/shared/fs-util.h:34:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 34 | return mfree(p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/chase.c:10: ../src/shared/fs-util.h:34:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/chase.c:10: ../src/shared/fs-util.h:36:52: warning: extra ';' outside of a function [-Wextra-semi] 36 | DEFINE_TRIVIAL_CLEANUP_FUNC(char*, unlink_and_free); |  ^ In file included from ../src/shared/chase.c:12: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/chase.c:12: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/chase.c:12: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/chase.c:12: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/chase.c:12: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/chase.c:12: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ ../src/shared/chase.c:46:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 46 | return log_warning_errno(SYNTHETIC_ERRNO(ENOLINK), |  ^ ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/chase.c:46:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/chase.c:59:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 59 | return log_warning_errno(SYNTHETIC_ERRNO(EREMOTE), |  ^ ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/chase.c:59:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/chase.c:211:35: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 211 | fd = openat(dir_fd, done ?: ".", O_CLOEXEC|O_DIRECTORY|O_PATH); |  ^ ../src/shared/chase.c:279:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 279 | free_and_replace(done, parent); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/shared/chase.c:279:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/shared/chase.c:279:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ ../src/shared/chase.c:283:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 283 | done = mfree(done); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/shared/chase.c:283:40: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/shared/chase.c:325:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 325 | close_and_replace(fd, fd_grandparent); |  ^ ../src/shared/fd-util.h:42:10: note: expanded from macro 'close_and_replace' 42 | ({ \ |  ^ ../src/shared/chase.c:325:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/fd-util.h:45:26: note: expanded from macro 'close_and_replace' 45 | *_fdp_ = TAKE_FD(b); \ |  ^ ../src/shared/fd-util.h:38:21: note: expanded from macro 'TAKE_FD' 38 | #define TAKE_FD(fd) TAKE_GENERIC(fd, int, -EBADF) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/chase.c:331:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 331 | close_and_replace(fd, fd_parent); |  ^ ../src/shared/fd-util.h:42:10: note: expanded from macro 'close_and_replace' 42 | ({ \ |  ^ ../src/shared/chase.c:331:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/fd-util.h:45:26: note: expanded from macro 'close_and_replace' 45 | *_fdp_ = TAKE_FD(b); \ |  ^ ../src/shared/fd-util.h:38:21: note: expanded from macro 'TAKE_FD' 38 | #define TAKE_FD(fd) TAKE_GENERIC(fd, int, -EBADF) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/chase.c:416:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 416 | free_and_replace(buffer, destination); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/shared/chase.c:416:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/shared/chase.c:416:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ ../src/shared/chase.c:431:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 431 | close_and_replace(fd, child); |  ^ ../src/shared/fd-util.h:42:10: note: expanded from macro 'close_and_replace' 42 | ({ \ |  ^ ../src/shared/chase.c:431:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/fd-util.h:45:26: note: expanded from macro 'close_and_replace' 45 | *_fdp_ = TAKE_FD(b); \ |  ^ ../src/shared/fd-util.h:38:21: note: expanded from macro 'TAKE_FD' 38 | #define TAKE_FD(fd) TAKE_GENERIC(fd, int, -EBADF) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/chase.c:450:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 450 | free_and_replace(done, f); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/shared/chase.c:450:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/shared/chase.c:450:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ ../src/shared/chase.c:460:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 460 | *ret_path = TAKE_PTR(done); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/chase.c:460:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/chase.c:460:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/chase.c:460:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/chase.c:468:27: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 468 | *ret_fd = TAKE_FD(fd); |  ^ ../src/shared/fd-util.h:38:21: note: expanded from macro 'TAKE_FD' 38 | #define TAKE_FD(fd) TAKE_GENERIC(fd, int, -EBADF) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/chase.c:546:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 546 | return log_full_errno(FLAGS_SET(flags, CHASE_WARN) ? LOG_WARNING : LOG_DEBUG, |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/chase.c:546:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/chase.c:580:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 580 | free_and_replace(p, q); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/shared/chase.c:580:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/shared/chase.c:580:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ ../src/shared/chase.c:584:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 584 | *ret_path = TAKE_PTR(p); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/chase.c:584:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/chase.c:584:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/chase.c:584:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/chase.c:588:27: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 588 | *ret_fd = TAKE_FD(pfd); |  ^ ../src/shared/fd-util.h:38:21: note: expanded from macro 'TAKE_FD' 38 | #define TAKE_FD(fd) TAKE_GENERIC(fd, int, -EBADF) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ 190 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/strv.c:9: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/strv.c:9: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/strv.c:9: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/strv.c:13: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/strv.c:13: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/strv.c:13: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/strv.c:13: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/strv.c:14: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/strv.c:14: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ ../src/shared/strv.c:19:9: warning: extension used [-Wlanguage-extension-token] 19 | STRV_FOREACH(i, l) |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/shared/strv.c:27:9: warning: extension used [-Wlanguage-extension-token] 27 | STRV_FOREACH(k, l) |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/shared/strv.c:30:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 30 | return mfree(l); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/shared/strv.c:30:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/shared/strv.c:42:9: warning: extension used [-Wlanguage-extension-token] 42 | STRV_FOREACH(i, l) { |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/shared/strv.c:56:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 56 | return TAKE_PTR(result); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/strv.c:56:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/strv.c:56:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/strv.c:56:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/strv.c:62:9: warning: extension used [-Wlanguage-extension-token] 62 | STRV_FOREACH(i, l) |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/shared/strv.c:106:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 106 | return TAKE_PTR(a); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/strv.c:106:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/strv.c:106:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/strv.c:106:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/strv.c:142:9: warning: extension used [-Wlanguage-extension-token] 142 | STRV_FOREACH(s, b) { |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/shared/strv.c:160:28: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 160 | t[p + j] = mfree(t[p + j]); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/shared/strv.c:160:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/shared/strv.c:168:9: warning: extension used [-Wlanguage-extension-token] 168 | STRV_FOREACH(s, b) { |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/shared/strv.c:208:26: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 208 | l[n++] = TAKE_PTR(word); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/strv.c:208:26: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/strv.c:208:26: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/strv.c:208:26: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/strv.c:218:14: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 218 | *t = TAKE_PTR(l); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/strv.c:218:14: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/strv.c:218:14: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/strv.c:218:14: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/strv.c:237:9: warning: extension used [-Wlanguage-extension-token] 237 | STRV_FOREACH(s, l) { |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/shared/strv.c:251:9: warning: extension used [-Wlanguage-extension-token] 251 | STRV_FOREACH(s, l) { |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/shared/strv.c:359:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 359 | return free_and_replace(*l, c); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/shared/strv.c:359:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/shared/strv.c:359:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ ../src/shared/strv.c:389:9: warning: extension used [-Wlanguage-extension-token] 389 | STRV_FOREACH(i, l) |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/shared/strv.c:458:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 458 | TAKE_PTR(t); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/strv.c:458:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/strv.c:458:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/strv.c:458:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/strv.c:459:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 459 | TAKE_PTR(l2); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/strv.c:459:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/strv.c:459:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/strv.c:459:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/strv.c:472:49: warning: extension used [-Wlanguage-extension-token] 472 | return string_strv_hashmap_put_internal(PLAIN_HASHMAP(*h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/strv.c:472:49: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/strv.c:475:1: warning: extra ';' outside of a function [-Wextra-semi] 475 | DEFINE_HASH_OPS_FULL(string_strv_hash_ops, char, string_hash_func, string_compare_func, free, char*, strv_free); | ^ ../src/shared/hash-funcs.h:71:9: note: expanded from macro 'DEFINE_HASH_OPS_FULL' 71 | _DEFINE_HASH_OPS_FULL(UNIQ, name, type, hash_func, compare_func, free_key_func, value_type, free_value_func,) |  ^ ../src/shared/hash-funcs.h:46:76: note: expanded from macro '_DEFINE_HASH_OPS_FULL' 46 | _DEFINE_FREE_FUNC(uq, type, static_free_key_wrapper, free_key_func); \ |  ^ ../src/shared/strv.c:475:1: warning: extra ';' outside of a function [-Wextra-semi] ../src/shared/hash-funcs.h:71:9: note: expanded from macro 'DEFINE_HASH_OPS_FULL' 71 | _DEFINE_HASH_OPS_FULL(UNIQ, name, type, hash_func, compare_func, free_key_func, value_type, free_value_func,) |  ^ ../src/shared/hash-funcs.h:47:86: note: expanded from macro '_DEFINE_HASH_OPS_FULL' 47 | _DEFINE_FREE_FUNC(uq, type_value, static_free_value_wrapper, free_value_func); \ |  ^ 146 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/specifier.c:11: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/specifier.c:11: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/specifier.c:11: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/specifier.c:12: In file included from ../src/shared/chase.h:7: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/specifier.c:14: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/specifier.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/specifier.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/specifier.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/specifier.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/specifier.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/specifier.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/specifier.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/specifier.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/specifier.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/specifier.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/specifier.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/specifier.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/specifier.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/specifier.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/specifier.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/specifier.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/specifier.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/specifier.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/specifier.c:16: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/shared/specifier.c:16: ../src/shared/fs-util.h:34:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 34 | return mfree(p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/specifier.c:16: ../src/shared/fs-util.h:34:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/specifier.c:16: ../src/shared/fs-util.h:36:52: warning: extra ';' outside of a function [-Wextra-semi] 36 | DEFINE_TRIVIAL_CLEANUP_FUNC(char*, unlink_and_free); |  ^ In file included from ../src/shared/specifier.c:18: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/specifier.c:18: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/specifier.c:18: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/specifier.c:18: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/specifier.c:18: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/specifier.c:18: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ ../src/shared/specifier.c:109:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 109 | *ret = TAKE_PTR(result); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/specifier.c:109:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/specifier.c:109:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/specifier.c:109:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/specifier.c:226:41: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 226 | LESS_BY((uint64_t) st.st_size, 0); |  ^ ../src/shared/macro.h:152:23: note: expanded from macro 'LESS_BY' 152 | #define LESS_BY(a, b) __LESS_BY(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:154:10: note: expanded from macro '__LESS_BY' 154 | ({ \ |  ^ ../src/shared/specifier.c:226:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:152:23: note: expanded from macro 'LESS_BY' 152 | #define LESS_BY(a, b) __LESS_BY(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:155:23: note: expanded from macro '__LESS_BY' 155 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ ../src/shared/specifier.c:226:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:152:23: note: expanded from macro 'LESS_BY' 152 | #define LESS_BY(a, b) __LESS_BY(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:156:23: note: expanded from macro '__LESS_BY' 156 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ ../src/shared/specifier.c:288:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 288 | *ret_contents = TAKE_PTR(buf); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/specifier.c:288:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/specifier.c:288:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/specifier.c:288:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/specifier.c:319:31: warning: unused parameter 'specifier' [-Wunused-parameter] 319 | int specifier_machine_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:319:54: warning: unused parameter 'data' [-Wunused-parameter] 319 | int specifier_machine_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:319:90: warning: unused parameter 'userdata' [-Wunused-parameter] 319 | int specifier_machine_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:352:28: warning: unused parameter 'specifier' [-Wunused-parameter] 352 | int specifier_boot_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:352:51: warning: unused parameter 'data' [-Wunused-parameter] 352 | int specifier_boot_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:352:69: warning: unused parameter 'root' [-Wunused-parameter] 352 | int specifier_boot_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:352:87: warning: unused parameter 'userdata' [-Wunused-parameter] 352 | int specifier_boot_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:386:29: warning: unused parameter 'specifier' [-Wunused-parameter] 386 | int specifier_hostname(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:386:52: warning: unused parameter 'data' [-Wunused-parameter] 386 | int specifier_hostname(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:386:70: warning: unused parameter 'root' [-Wunused-parameter] 386 | int specifier_hostname(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:386:88: warning: unused parameter 'userdata' [-Wunused-parameter] 386 | int specifier_hostname(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:399:35: warning: unused parameter 'specifier' [-Wunused-parameter] 399 | int specifier_short_hostname(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:399:58: warning: unused parameter 'data' [-Wunused-parameter] 399 | int specifier_short_hostname(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:399:76: warning: unused parameter 'root' [-Wunused-parameter] 399 | int specifier_short_hostname(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:399:94: warning: unused parameter 'userdata' [-Wunused-parameter] 399 | int specifier_short_hostname(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:412:35: warning: unused parameter 'specifier' [-Wunused-parameter] 412 | int specifier_kernel_release(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:412:58: warning: unused parameter 'data' [-Wunused-parameter] 412 | int specifier_kernel_release(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:412:76: warning: unused parameter 'root' [-Wunused-parameter] 412 | int specifier_kernel_release(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:412:94: warning: unused parameter 'userdata' [-Wunused-parameter] 412 | int specifier_kernel_release(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:429:33: warning: unused parameter 'specifier' [-Wunused-parameter] 429 | int specifier_architecture(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:429:56: warning: unused parameter 'data' [-Wunused-parameter] 429 | int specifier_architecture(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:429:74: warning: unused parameter 'root' [-Wunused-parameter] 429 | int specifier_architecture(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:429:92: warning: unused parameter 'userdata' [-Wunused-parameter] 429 | int specifier_architecture(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:472:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 472 | *ret = TAKE_PTR(f); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/specifier.c:472:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/specifier.c:472:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/specifier.c:472:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/specifier.c:572:41: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 572 | free_and_replace(*ovalue, value); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/shared/specifier.c:572:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/shared/specifier.c:572:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ ../src/shared/specifier.c:617:41: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 617 | free_and_replace(*ovalue, value); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/shared/specifier.c:617:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/shared/specifier.c:617:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ In file included from ../src/shared/specifier.c:11: In file included from ../src/shared/alloc-util.h:10: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:59: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/specifier.c:721:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 721 | log_debug("The line which doesn't begin with \";\" or \"#\", but follows a comment" \ |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/shared/specifier.c:721:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/specifier.c:731:13: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 731 | if (IN_SET(state, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/specifier.c:731:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/specifier.c:731:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/specifier.c:731:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/specifier.c:731:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/specifier.c:731:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/specifier.c:753:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 753 | free_and_replace(*ovalue, value); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/shared/specifier.c:753:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/shared/specifier.c:753:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ In file included from ../src/shared/specifier.c:18: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:98:37: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 98 | _FOREACH_STRING(UNIQ, x, y, ##__VA_ARGS__) |  ^ ../src/shared/strv.h:93:85: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 93 | for (const char *x, * const*UNIQ_T(l, uniq) = STRV_MAKE_CONST(({ x = y; }), ##__VA_ARGS__); \ |  ^ ../src/shared/specifier.c:780:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 780 | FOREACH_STRING(path, "/etc/os-release", "/usr/lib/os-release") { |  ^ ../src/shared/strv.h:98:9: note: expanded from macro 'FOREACH_STRING' 98 | _FOREACH_STRING(UNIQ, x, y, ##__VA_ARGS__) |  ^ ../src/shared/strv.h:93:72: note: expanded from macro '_FOREACH_STRING' 93 | for (const char *x, * const*UNIQ_T(l, uniq) = STRV_MAKE_CONST(({ x = y; }), ##__VA_ARGS__); \ |  ^ ../src/shared/specifier.c:792:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 792 | *ret = TAKE_PTR(v); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/specifier.c:792:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/specifier.c:792:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/specifier.c:792:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/specifier.c:798:26: warning: unused parameter 'specifier' [-Wunused-parameter] 798 | int specifier_os_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:798:49: warning: unused parameter 'data' [-Wunused-parameter] 798 | int specifier_os_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:798:85: warning: unused parameter 'userdata' [-Wunused-parameter] 798 | int specifier_os_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:802:34: warning: unused parameter 'specifier' [-Wunused-parameter] 802 | int specifier_os_version_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:802:57: warning: unused parameter 'data' [-Wunused-parameter] 802 | int specifier_os_version_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:802:93: warning: unused parameter 'userdata' [-Wunused-parameter] 802 | int specifier_os_version_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:806:32: warning: unused parameter 'specifier' [-Wunused-parameter] 806 | int specifier_os_build_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:806:55: warning: unused parameter 'data' [-Wunused-parameter] 806 | int specifier_os_build_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:806:91: warning: unused parameter 'userdata' [-Wunused-parameter] 806 | int specifier_os_build_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:810:34: warning: unused parameter 'specifier' [-Wunused-parameter] 810 | int specifier_os_variant_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:810:57: warning: unused parameter 'data' [-Wunused-parameter] 810 | int specifier_os_variant_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:810:93: warning: unused parameter 'userdata' [-Wunused-parameter] 810 | int specifier_os_variant_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:814:32: warning: unused parameter 'specifier' [-Wunused-parameter] 814 | int specifier_os_image_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:814:55: warning: unused parameter 'data' [-Wunused-parameter] 814 | int specifier_os_image_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:814:91: warning: unused parameter 'userdata' [-Wunused-parameter] 814 | int specifier_os_image_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:818:37: warning: unused parameter 'specifier' [-Wunused-parameter] 818 | int specifier_os_image_version(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:818:60: warning: unused parameter 'data' [-Wunused-parameter] 818 | int specifier_os_image_version(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:818:96: warning: unused parameter 'userdata' [-Wunused-parameter] 818 | int specifier_os_image_version(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:822:28: warning: unused parameter 'specifier' [-Wunused-parameter] 822 | int specifier_tmp_dir(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:822:51: warning: unused parameter 'data' [-Wunused-parameter] 822 | int specifier_tmp_dir(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:822:87: warning: unused parameter 'userdata' [-Wunused-parameter] 822 | int specifier_tmp_dir(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:844:32: warning: unused parameter 'specifier' [-Wunused-parameter] 844 | int specifier_var_tmp_dir(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:844:55: warning: unused parameter 'data' [-Wunused-parameter] 844 | int specifier_var_tmp_dir(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/shared/specifier.c:844:91: warning: unused parameter 'userdata' [-Wunused-parameter] 844 | int specifier_var_tmp_dir(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ 240 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/btrfs-util.c:18: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/btrfs-util.c:18: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/btrfs-util.c:18: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/btrfs-util.c:20: In file included from ../src/shared/chase.h:7: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/btrfs-util.c:22: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/btrfs-util.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/btrfs-util.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/btrfs-util.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/btrfs-util.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/btrfs-util.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/btrfs-util.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/btrfs-util.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/btrfs-util.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/btrfs-util.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/btrfs-util.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/btrfs-util.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/btrfs-util.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/btrfs-util.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/btrfs-util.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/btrfs-util.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/btrfs-util.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/btrfs-util.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/btrfs-util.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/btrfs-util.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/shared/btrfs-util.c:24: ../src/shared/fs-util.h:34:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 34 | return mfree(p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/btrfs-util.c:24: ../src/shared/fs-util.h:34:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/btrfs-util.c:24: ../src/shared/fs-util.h:36:52: warning: extra ';' outside of a function [-Wextra-semi] 36 | DEFINE_TRIVIAL_CLEANUP_FUNC(char*, unlink_and_free); |  ^ In file included from ../src/shared/btrfs-util.c:26: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/btrfs-util.c:26: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/btrfs-util.c:26: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/btrfs-util.c:26: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/btrfs-util.c:26: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/btrfs-util.c:26: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ ../src/shared/btrfs-util.c:57:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 57 | *ret = TAKE_PTR(fn); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/btrfs-util.c:57:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/btrfs-util.c:57:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/btrfs-util.c:57:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/btrfs-util.c:62:44: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] 62 | struct btrfs_ioctl_vol_args args = {}; |  ^ ../src/shared/btrfs-util.c:213:13: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 213 | r = CMP(args->key.min_objectid, args->key.max_objectid); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ ../src/shared/btrfs-util.c:213:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ ../src/shared/btrfs-util.c:213:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ ../src/shared/btrfs-util.c:217:13: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 217 | r = CMP(args->key.min_type, args->key.max_type); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ ../src/shared/btrfs-util.c:217:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ ../src/shared/btrfs-util.c:217:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ ../src/shared/btrfs-util.c:221:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 221 | return CMP(args->key.min_offset, args->key.max_offset); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ ../src/shared/btrfs-util.c:221:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ ../src/shared/btrfs-util.c:221:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ ../src/shared/btrfs-util.c:261:53: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] 261 | struct btrfs_ioctl_quota_rescan_args args = {}; |  ^ ../src/shared/btrfs-util.c:294:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 294 | if (IN_SET(errno, EINVAL, ENOTCONN)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/btrfs-util.c:294:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/btrfs-util.c:294:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/btrfs-util.c:294:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/btrfs-util.c:294:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/btrfs-util.c:294:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/btrfs-util.c:396:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 396 | *ret = TAKE_PTR(items); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/btrfs-util.c:396:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/btrfs-util.c:396:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/btrfs-util.c:396:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/btrfs-util.c:491:48: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] 491 | struct btrfs_ioctl_vol_args vol_args = {}; |  ^ ../src/shared/btrfs-util.c:776:19: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 776 | qgroups = mfree(qgroups); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/shared/btrfs-util.c:776:19: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ 181 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/path-util.c:10: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/path-util.c:10: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/path-util.c:10: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/path-util.c:11: In file included from ../src/shared/chase.h:7: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/path-util.c:13: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/path-util.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/path-util.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/path-util.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/path-util.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/path-util.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/path-util.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/path-util.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/path-util.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/path-util.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/path-util.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/path-util.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/path-util.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/path-util.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/path-util.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/path-util.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/path-util.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/path-util.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/path-util.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/path-util.c:14: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/shared/path-util.c:14: ../src/shared/fs-util.h:34:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 34 | return mfree(p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/path-util.c:14: ../src/shared/fs-util.h:34:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/path-util.c:14: ../src/shared/fs-util.h:36:52: warning: extra ';' outside of a function [-Wextra-semi] 36 | DEFINE_TRIVIAL_CLEANUP_FUNC(char*, unlink_and_free); |  ^ In file included from ../src/shared/path-util.c:17: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/path-util.c:17: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/path-util.c:17: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/path-util.c:17: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/path-util.c:17: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/path-util.c:17: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ ../src/shared/path-util.c:36:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 36 | *ret = TAKE_PTR(cwd); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/path-util.c:36:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:36:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:36:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:111:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 111 | *ret = TAKE_PTR(result); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/path-util.c:111:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:111:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:111:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:145:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 145 | *ret = TAKE_PTR(result); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/path-util.c:145:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:145:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:145:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:156:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 156 | *ret = TAKE_PTR(result); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/path-util.c:156:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:156:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:156:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:195:9: warning: extension used [-Wlanguage-extension-token] 195 | STRV_FOREACH(s, l) { |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/shared/path-util.c:203:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 203 | free_and_replace(*s, t); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/shared/path-util.c:203:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/shared/path-util.c:203:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ ../src/shared/path-util.c:221:9: warning: extension used [-Wlanguage-extension-token] 221 | STRV_FOREACH(s, l) { |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/shared/path-util.c:243:37: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 243 | u = TAKE_PTR(orig); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/path-util.c:243:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:243:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:243:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:274:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 274 | free_and_replace(u, orig); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/shared/path-util.c:274:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/shared/path-util.c:274:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ ../src/shared/path-util.c:387:44: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 387 | return (char*) (p ?: path); |  ^ ../src/shared/path-util.c:401:13: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 401 | r = CMP(!!a, !!b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ ../src/shared/path-util.c:401:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ ../src/shared/path-util.c:401:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ ../src/shared/path-util.c:408:13: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 408 | r = CMP(path_is_absolute(a), path_is_absolute(b)); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ ../src/shared/path-util.c:408:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ ../src/shared/path-util.c:408:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ ../src/shared/path-util.c:421:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 421 | r = CMP(j < 0, k < 0); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ ../src/shared/path-util.c:421:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ ../src/shared/path-util.c:421:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ ../src/shared/path-util.c:444:21: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 444 | r = CMP(j, k); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ ../src/shared/path-util.c:444:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ ../src/shared/path-util.c:444:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ ../src/shared/path-util.c:455:13: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 455 | r = CMP(!!a, !!b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ ../src/shared/path-util.c:455:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ ../src/shared/path-util.c:455:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ ../src/shared/path-util.c:463:13: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 463 | r = CMP(j != -EADDRNOTAVAIL, k != -EADDRNOTAVAIL); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ ../src/shared/path-util.c:463:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ ../src/shared/path-util.c:463:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ ../src/shared/path-util.c:468:13: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 468 | r = CMP(j < 0, k < 0); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ ../src/shared/path-util.c:468:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ ../src/shared/path-util.c:468:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ ../src/shared/path-util.c:641:23: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 641 | for (; q; q = PTR_SUB1(q, path)) { |  ^ ../src/shared/macro.h:388:10: note: expanded from macro 'PTR_SUB1' 388 | ({ \ |  ^ ../src/shared/path-util.c:641:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:389:17: note: expanded from macro 'PTR_SUB1' 389 | typeof(p) _q = (p); \ |  ^ ../src/shared/path-util.c:707:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 707 | if (!IN_SET(**next, '\0', '/')) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/path-util.c:707:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/path-util.c:707:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/path-util.c:707:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/path-util.c:707:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/path-util.c:707:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/path-util.c:726:21: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 726 | q = PTR_SUB1(q, path); |  ^ ../src/shared/macro.h:388:10: note: expanded from macro 'PTR_SUB1' 388 | ({ \ |  ^ ../src/shared/path-util.c:726:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:389:17: note: expanded from macro 'PTR_SUB1' 389 | typeof(p) _q = (p); \ |  ^ ../src/shared/path-util.c:778:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 778 | *ret = TAKE_PTR(a); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/path-util.c:778:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:778:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:778:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:810:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 810 | *ret = TAKE_PTR(a); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/path-util.c:810:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:810:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:810:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:824:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 824 | *ret = TAKE_PTR(a); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/path-util.c:824:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:824:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:824:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/path-util.c:965:9: warning: extension used [-Wlanguage-extension-token] 965 | STRV_FOREACH(i, l) |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/shared/path-util.c:985:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 985 | *arg = mfree(*arg); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/shared/path-util.c:985:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/shared/path-util.c:991:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 991 | return log_error_errno(r, "Failed to parse path \"%s\" and make it absolute: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/path-util.c:991:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/path-util.c:995:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 995 | return free_and_replace(*arg, p); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/shared/path-util.c:995:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/shared/path-util.c:995:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ 233 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/copy.c:15: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/copy.c:15: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/copy.c:15: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/copy.c:18: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:9: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/shared/copy.c:18: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/copy.c:18: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/copy.c:18: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/copy.c:18: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/copy.c:18: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/copy.c:18: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/shared/copy.c:19: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/shared/copy.c:21: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/copy.c:21: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/copy.c:21: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/copy.c:21: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/copy.c:21: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/copy.c:21: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/copy.c:21: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/copy.c:21: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/copy.c:21: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/copy.c:21: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/copy.c:21: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/copy.c:21: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/copy.c:21: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/shared/copy.c:21: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/shared/copy.c:21: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/copy.c:21: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/copy.c:21: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/copy.c:21: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/shared/copy.c:21: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/shared/copy.c:21: ../src/shared/fs-util.h:34:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 34 | return mfree(p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/copy.c:21: ../src/shared/fs-util.h:34:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/copy.c:21: ../src/shared/fs-util.h:36:52: warning: extra ';' outside of a function [-Wextra-semi] 36 | DEFINE_TRIVIAL_CLEANUP_FUNC(char*, unlink_and_free); |  ^ ../src/shared/copy.c:144:50: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 144 | if (in_offset == 0 && out_offset == 0 && IN_SET(sz, 0, UINT64_MAX)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/copy.c:144:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/copy.c:144:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:144:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:144:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:144:50: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:250:38: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 250 | if (!IN_SET(n, -EINVAL, -ENOSYS, -EXDEV, -EBADF)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/copy.c:250:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/copy.c:250:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:250:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:250:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:250:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:277:38: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 277 | if (!IN_SET(errno, EINVAL, ENOSYS)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/copy.c:277:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/copy.c:277:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:277:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:277:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:277:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:340:38: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 340 | if (!IN_SET(errno, EINVAL, ENOSYS)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/copy.c:340:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/copy.c:340:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:340:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:340:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:340:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:400:83: warning: unused parameter 'copy_flags' [-Wunused-parameter] 400 | static int copy_xattr(int df, const char *from, int dt, const char *to, CopyFlags copy_flags) { |  ^ ../src/shared/copy.c:530:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 530 | c->parent_fd = TAKE_FD(dt_copy); |  ^ ../src/shared/fd-util.h:38:21: note: expanded from macro 'TAKE_FD' 38 | #define TAKE_FD(fd) TAKE_GENERIC(fd, int, -EBADF) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/copy.c:558:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 558 | if (!IN_SET(r, -EDESTADDRREQ, -EADDRNOTAVAIL)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/copy.c:558:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/copy.c:558:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:558:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:558:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:558:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:574:13: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 574 | if (IN_SET(fd, -ELOOP, -ENOTDIR)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/copy.c:574:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/copy.c:574:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:574:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:574:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:574:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/copy.c:579:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 579 | return TAKE_FD(fd); |  ^ ../src/shared/fd-util.h:38:21: note: expanded from macro 'TAKE_FD' 38 | #define TAKE_FD(fd) TAKE_GENERIC(fd, int, -EBADF) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/copy.c:612:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 612 | log_debug_errno(errno, "Failed to lseek on file descriptor, ignoring: %m"); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/copy.c:612:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/copy.c:614:36: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 614 | r = rm_rf_children(TAKE_FD(c->dir_fd), 0, NULL); /* consumes dir_fd in all cases, even on failure */ |  ^ ../src/shared/fd-util.h:38:21: note: expanded from macro 'TAKE_FD' 38 | #define TAKE_FD(fd) TAKE_GENERIC(fd, int, -EBADF) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/copy.c:616:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 616 | log_debug_errno(r, "Failed to remove hardlink store (%s) contents, ignoring: %m", c->subdir); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/copy.c:616:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/copy.c:622:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 622 | log_debug_errno(errno, "Failed to remove hardlink store (%s) directory, ignoring: %m", c->subdir); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/copy.c:622:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/copy.c:628:21: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 628 | c->subdir = mfree(c->subdir); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/shared/copy.c:628:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/shared/copy.c:637:22: warning: extension used [-Wlanguage-extension-token] 637 | char dev_ino[DECIMAL_STR_MAX(dev_t)*2 + DECIMAL_STR_MAX(uint64_t) + 4]; |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/copy.c:637:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/copy.c:637:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/copy.c:637:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/copy.c:637:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/copy.c:637:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/copy.c:637:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/copy.c:637:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/copy.c:637:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/copy.c:637:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/copy.c:637:22: warning: zero size arrays are an extension [-Wzero-length-array] 637 | char dev_ino[DECIMAL_STR_MAX(dev_t)*2 + DECIMAL_STR_MAX(uint64_t) + 4]; |  ^~~~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/shared/copy.c:637:49: warning: extension used [-Wlanguage-extension-token] 637 | char dev_ino[DECIMAL_STR_MAX(dev_t)*2 + DECIMAL_STR_MAX(uint64_t) + 4]; |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/copy.c:637:49: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/copy.c:637:49: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/copy.c:637:49: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/copy.c:637:49: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/copy.c:637:49: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/copy.c:637:49: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/copy.c:637:49: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/copy.c:637:49: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/copy.c:637:49: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/copy.c:637:49: warning: zero size arrays are an extension [-Wzero-length-array] 637 | char dev_ino[DECIMAL_STR_MAX(dev_t)*2 + DECIMAL_STR_MAX(uint64_t) + 4]; |  ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/shared/copy.c:655:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 655 | log_debug_errno(errno, "Failed to hardlink %s to %s, ignoring: %m", dev_ino, to); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/copy.c:655:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/copy.c:668:22: warning: extension used [-Wlanguage-extension-token] 668 | char dev_ino[DECIMAL_STR_MAX(dev_t)*2 + DECIMAL_STR_MAX(uint64_t) + 4]; |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/copy.c:668:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/copy.c:668:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/copy.c:668:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/copy.c:668:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/copy.c:668:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/copy.c:668:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/copy.c:668:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/copy.c:668:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/copy.c:668:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/copy.c:668:22: warning: zero size arrays are an extension [-Wzero-length-array] 668 | char dev_ino[DECIMAL_STR_MAX(dev_t)*2 + DECIMAL_STR_MAX(uint64_t) + 4]; |  ^~~~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/shared/copy.c:668:49: warning: extension used [-Wlanguage-extension-token] 668 | char dev_ino[DECIMAL_STR_MAX(dev_t)*2 + DECIMAL_STR_MAX(uint64_t) + 4]; |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/copy.c:668:49: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/copy.c:668:49: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/copy.c:668:49: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/copy.c:668:49: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/copy.c:668:49: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/copy.c:668:49: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/copy.c:668:49: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/copy.c:668:49: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/copy.c:668:49: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/copy.c:668:49: warning: zero size arrays are an extension [-Wzero-length-array] 668 | char dev_ino[DECIMAL_STR_MAX(dev_t)*2 + DECIMAL_STR_MAX(uint64_t) + 4]; |  ^~~~~~~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/shared/copy.c:687:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 687 | log_debug_errno(errno, "Failed to hardlink %s to %s, ignoring: %m", to, dev_ino); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/shared/copy.c:687:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/copy.c:761:26: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 761 | q = close_nointr(TAKE_FD(fdt)); /* even if this fails, the fd is now invalidated */ |  ^ ../src/shared/fd-util.h:38:21: note: expanded from macro 'TAKE_FD' 38 | #define TAKE_FD(fd) TAKE_GENERIC(fd, int, -EBADF) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/shared/copy.c:776:21: warning: unused parameter 'df' [-Wunused-parameter] 776 | int df, |  ^ ../src/shared/copy.c:824:21: warning: unused parameter 'df' [-Wunused-parameter] 824 | int df, |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] 904 | m = 3 * DIRENT_SIZE_MAX; |  ^ ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:140:47: note: expanded from macro 'CONST_MAX' 140 | (__builtin_types_compatible_p(typeof(_A), typeof(_B)) || \ |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:140:59: note: expanded from macro 'CONST_MAX' 140 | (__builtin_types_compatible_p(typeof(_A), typeof(_B)) || \ |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:141:19: note: expanded from macro 'CONST_MAX' 141 | (IS_UNSIGNED_INTEGER_TYPE(_A) && IS_UNSIGNED_INTEGER_TYPE(_B)) || \ |  ^ ../src/shared/macro.h:121:39: note: expanded from macro 'IS_UNSIGNED_INTEGER_TYPE' 121 | (__builtin_types_compatible_p(typeof(type), unsigned char) || \ |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:141:19: note: expanded from macro 'CONST_MAX' 141 | (IS_UNSIGNED_INTEGER_TYPE(_A) && IS_UNSIGNED_INTEGER_TYPE(_B)) || \ |  ^ ../src/shared/macro.h:122:39: note: expanded from macro 'IS_UNSIGNED_INTEGER_TYPE' 122 | __builtin_types_compatible_p(typeof(type), unsigned short) || \ |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:141:19: note: expanded from macro 'CONST_MAX' 141 | (IS_UNSIGNED_INTEGER_TYPE(_A) && IS_UNSIGNED_INTEGER_TYPE(_B)) || \ |  ^ ../src/shared/macro.h:123:39: note: expanded from macro 'IS_UNSIGNED_INTEGER_TYPE' 123 | __builtin_types_compatible_p(typeof(type), unsigned) || \ |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:141:19: note: expanded from macro 'CONST_MAX' 141 | (IS_UNSIGNED_INTEGER_TYPE(_A) && IS_UNSIGNED_INTEGER_TYPE(_B)) || \ |  ^ ../src/shared/macro.h:124:39: note: expanded from macro 'IS_UNSIGNED_INTEGER_TYPE' 124 | __builtin_types_compatible_p(typeof(type), unsigned long) || \ |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:141:19: note: expanded from macro 'CONST_MAX' 141 | (IS_UNSIGNED_INTEGER_TYPE(_A) && IS_UNSIGNED_INTEGER_TYPE(_B)) || \ |  ^ ../src/shared/macro.h:125:39: note: expanded from macro 'IS_UNSIGNED_INTEGER_TYPE' 125 | __builtin_types_compatible_p(typeof(type), unsigned long long)) |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:141:51: note: expanded from macro 'CONST_MAX' 141 | (IS_UNSIGNED_INTEGER_TYPE(_A) && IS_UNSIGNED_INTEGER_TYPE(_B)) || \ |  ^ ../src/shared/macro.h:121:39: note: expanded from macro 'IS_UNSIGNED_INTEGER_TYPE' 121 | (__builtin_types_compatible_p(typeof(type), unsigned char) || \ |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:141:51: note: expanded from macro 'CONST_MAX' 141 | (IS_UNSIGNED_INTEGER_TYPE(_A) && IS_UNSIGNED_INTEGER_TYPE(_B)) || \ |  ^ ../src/shared/macro.h:122:39: note: expanded from macro 'IS_UNSIGNED_INTEGER_TYPE' 122 | __builtin_types_compatible_p(typeof(type), unsigned short) || \ |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:141:51: note: expanded from macro 'CONST_MAX' 141 | (IS_UNSIGNED_INTEGER_TYPE(_A) && IS_UNSIGNED_INTEGER_TYPE(_B)) || \ |  ^ ../src/shared/macro.h:123:39: note: expanded from macro 'IS_UNSIGNED_INTEGER_TYPE' 123 | __builtin_types_compatible_p(typeof(type), unsigned) || \ |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:141:51: note: expanded from macro 'CONST_MAX' 141 | (IS_UNSIGNED_INTEGER_TYPE(_A) && IS_UNSIGNED_INTEGER_TYPE(_B)) || \ |  ^ ../src/shared/macro.h:124:39: note: expanded from macro 'IS_UNSIGNED_INTEGER_TYPE' 124 | __builtin_types_compatible_p(typeof(type), unsigned long) || \ |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:141:51: note: expanded from macro 'CONST_MAX' 141 | (IS_UNSIGNED_INTEGER_TYPE(_A) && IS_UNSIGNED_INTEGER_TYPE(_B)) || \ |  ^ ../src/shared/macro.h:125:39: note: expanded from macro 'IS_UNSIGNED_INTEGER_TYPE' 125 | __builtin_types_compatible_p(typeof(type), unsigned long long)) |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:142:19: note: expanded from macro 'CONST_MAX' 142 | (IS_SIGNED_INTEGER_TYPE(_A) && IS_SIGNED_INTEGER_TYPE(_B))), \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:142:19: note: expanded from macro 'CONST_MAX' 142 | (IS_SIGNED_INTEGER_TYPE(_A) && IS_SIGNED_INTEGER_TYPE(_B))), \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:142:19: note: expanded from macro 'CONST_MAX' 142 | (IS_SIGNED_INTEGER_TYPE(_A) && IS_SIGNED_INTEGER_TYPE(_B))), \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:142:19: note: expanded from macro 'CONST_MAX' 142 | (IS_SIGNED_INTEGER_TYPE(_A) && IS_SIGNED_INTEGER_TYPE(_B))), \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:142:19: note: expanded from macro 'CONST_MAX' 142 | (IS_SIGNED_INTEGER_TYPE(_A) && IS_SIGNED_INTEGER_TYPE(_B))), \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:142:49: note: expanded from macro 'CONST_MAX' 142 | (IS_SIGNED_INTEGER_TYPE(_A) && IS_SIGNED_INTEGER_TYPE(_B))), \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:142:49: note: expanded from macro 'CONST_MAX' 142 | (IS_SIGNED_INTEGER_TYPE(_A) && IS_SIGNED_INTEGER_TYPE(_B))), \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:142:49: note: expanded from macro 'CONST_MAX' 142 | (IS_SIGNED_INTEGER_TYPE(_A) && IS_SIGNED_INTEGER_TYPE(_B))), \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:142:49: note: expanded from macro 'CONST_MAX' 142 | (IS_SIGNED_INTEGER_TYPE(_A) && IS_SIGNED_INTEGER_TYPE(_B))), \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/shared/copy.c:904:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/copy.c:872:25: note: expanded from macro 'DIRENT_SIZE_MAX' 872 | #define DIRENT_SIZE_MAX CONST_MAX(sizeof(struct dirent), offsetof(struct dirent, d_name) + NAME_MAX + 1) |  ^ ../src/shared/macro.h:142:49: note: expanded from macro 'CONST_MAX' 142 | (IS_SIGNED_INTEGER_TYPE(_A) && IS_SIGNED_INTEGER_TYPE(_B))), \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/shared/copy.c:919:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 919 | FOREACH_DIRENT_IN_BUFFER(de, buf, n) |  ^ ../src/shared/copy.c:875:39: note: expanded from macro 'FOREACH_DIRENT_IN_BUFFER' 875 | for (void *_end = (uint8_t*) ({ (de) = (buf); }) + (sz); \ |  ^ 275 warnings generated. clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/shared/hashmap.c:8: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/shared/hashmap.c:8: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/shared/hashmap.c:8: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/shared/hashmap.c:10: In file included from ../src/shared/hashmap.h:8: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/shared/hashmap.c:10: In file included from ../src/shared/hashmap.h:8: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/shared/hashmap.c:10: In file included from ../src/shared/hashmap.h:8: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/shared/hashmap.c:10: In file included from ../src/shared/hashmap.h:8: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/shared/hashmap.c:10: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:15:37: warning: extension used [-Wlanguage-extension-token] 15 | return (Set*) _hashmap_free(HASHMAP_BASE(s), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:15:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:15:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:15:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:19:37: warning: extension used [-Wlanguage-extension-token] 19 | return (Set*) _hashmap_free(HASHMAP_BASE(s), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:19:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:19:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:19:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:28:29: warning: extension used [-Wlanguage-extension-token] 28 | return _hashmap_get(HASHMAP_BASE((Set *) s), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:28:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:28:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:28:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:32:34: warning: extension used [-Wlanguage-extension-token] 32 | return _hashmap_contains(HASHMAP_BASE((Set *) s), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:32:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:32:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:32:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:36:32: warning: extension used [-Wlanguage-extension-token] 36 | return _hashmap_remove(HASHMAP_BASE(s), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:36:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:36:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:36:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:40:30: warning: extension used [-Wlanguage-extension-token] 40 | return _hashmap_size(HASHMAP_BASE((Set *) s)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:40:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:40:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:40:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:48:33: warning: extension used [-Wlanguage-extension-token] 48 | return _hashmap_iterate(HASHMAP_BASE((Set*) s), i, value, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:48:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:48:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:48:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:63:34: warning: extension used [-Wlanguage-extension-token] 63 | return _hashmap_get_strv(HASHMAP_BASE(s)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:63:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:63:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:63:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/shared/hashmap.c:13: ../src/shared/set.h:80:44: warning: extra ';' outside of a function [-Wextra-semi] 80 | DEFINE_TRIVIAL_CLEANUP_FUNC(Set*, set_free); |  ^ ../src/shared/set.h:81:49: warning: extra ';' outside of a function [-Wextra-semi] 81 | DEFINE_TRIVIAL_CLEANUP_FUNC(Set*, set_free_free); |  ^ In file included from ../src/shared/hashmap.c:16: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ ../src/shared/hashmap.c:41:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 41 | return LOG2U(x); |  ^ ../src/shared/hashmap.c:38:81: note: expanded from macro 'LOG2U' 38 | #define LOG2U(x) __builtin_choose_expr(__builtin_constant_p(x), CONST_LOG2U(x), NONCONST_LOG2U(x)) |  ^ ../src/shared/hashmap.c:34:28: note: expanded from macro 'NONCONST_LOG2U' 34 | #define NONCONST_LOG2U(x) ({ \ |  ^ ../src/shared/hashmap.c:338:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 338 | return CAST_ALIGN_PTR( |  ^ ../src/shared/macro.h:245:10: note: expanded from macro 'CAST_ALIGN_PTR' 245 | ({ \ |  ^ ../src/shared/hashmap.c:344:56: warning: extension used [-Wlanguage-extension-token] 344 | return (struct plain_hashmap_entry*) bucket_at(HASHMAP_BASE(h), idx); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:344:56: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:344:56: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:344:56: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:348:58: warning: extension used [-Wlanguage-extension-token] 348 | return (struct ordered_hashmap_entry*) bucket_at(HASHMAP_BASE(h), idx); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:348:58: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:348:58: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:348:58: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:397:26: warning: extension used [-Wlanguage-extension-token] 397 | initial_bucket = bucket_hash(h, bucket_at(h, idx)->key); |  ^ ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:397:26: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:397:26: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:397:26: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:492:21: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 492 | if (IN_SET(raw_dib, 0, DIB_RAW_FREE)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/hashmap.c:492:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/hashmap.c:492:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/hashmap.c:492:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/hashmap.c:492:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/hashmap.c:492:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/hashmap.c:557:40: warning: extension used [-Wlanguage-extension-token] 557 | idx = prev_idx(HASHMAP_BASE(h), idx); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:557:40: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:557:40: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:557:40: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:692:33: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 692 | h->hash_ops = hash_ops ?: &trivial_hash_ops; |  ^ ../src/shared/hashmap.c:792:43: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 792 | free_key = h->hash_ops->free_key ?: default_free_key; |  ^ ../src/shared/hashmap.c:793:47: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 793 | free_value = h->hash_ops->free_value ?: default_free_value; |  ^ ../src/shared/hashmap.c:851:21: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 851 | if (IN_SET(raw_dib, DIB_RAW_FREE, DIB_RAW_REHASH)) { |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/shared/hashmap.c:851:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/shared/hashmap.c:851:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/hashmap.c:851:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/hashmap.c:851:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/hashmap.c:851:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/shared/hashmap.c:910:31: warning: extension used [-Wlanguage-extension-token] 910 | idx = bucket_hash(h, new_entry->p.b.key); |  ^ ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:910:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:910:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:910:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:1046:31: warning: extension used [-Wlanguage-extension-token] 1046 | optimal_idx = bucket_hash(h, bucket_at(h, idx)->key); |  ^ ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:1046:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:1046:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:1046:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:1073:47: warning: extension used [-Wlanguage-extension-token] 1073 | optimal_idx = bucket_hash(h, bucket_at_swap(&swap, IDX_PUT)->p.b.key); |  ^ ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:1073:47: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:1073:47: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:1073:47: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:1119:16: warning: extension used [-Wlanguage-extension-token] 1119 | hash = bucket_hash(h, key); |  ^ ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:1119:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:1119:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:1119:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:1120:15: warning: extension used [-Wlanguage-extension-token] 1120 | idx = bucket_scan(h, hash, key); |  ^ ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:1120:15: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:1120:15: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:1120:15: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:1131:16: warning: extension used [-Wlanguage-extension-token] 1131 | return hashmap_put_boldly(h, hash, &swap, true); |  ^ ../src/shared/hashmap.c:941:33: note: expanded from macro 'hashmap_put_boldly' 941 | hashmap_base_put_boldly(HASHMAP_BASE(h), idx, swap, may_resize) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:1131:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:941:33: note: expanded from macro 'hashmap_put_boldly' 941 | hashmap_base_put_boldly(HASHMAP_BASE(h), idx, swap, may_resize) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:1131:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:941:33: note: expanded from macro 'hashmap_put_boldly' 941 | hashmap_base_put_boldly(HASHMAP_BASE(h), idx, swap, may_resize) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:1131:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:941:33: note: expanded from macro 'hashmap_put_boldly' 941 | hashmap_base_put_boldly(HASHMAP_BASE(h), idx, swap, may_resize) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:1141:16: warning: extension used [-Wlanguage-extension-token] 1141 | hash = bucket_hash(s, key); |  ^ ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:1141:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:1141:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:1141:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:1142:15: warning: extension used [-Wlanguage-extension-token] 1142 | idx = bucket_scan(s, hash, key); |  ^ ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:1142:15: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:1142:15: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:1142:15: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:1148:16: warning: extension used [-Wlanguage-extension-token] 1148 | return hashmap_put_boldly(s, hash, &swap, true); |  ^ ../src/shared/hashmap.c:941:33: note: expanded from macro 'hashmap_put_boldly' 941 | hashmap_base_put_boldly(HASHMAP_BASE(h), idx, swap, may_resize) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:1148:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:941:33: note: expanded from macro 'hashmap_put_boldly' 941 | hashmap_base_put_boldly(HASHMAP_BASE(h), idx, swap, may_resize) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:1148:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:941:33: note: expanded from macro 'hashmap_put_boldly' 941 | hashmap_base_put_boldly(HASHMAP_BASE(h), idx, swap, may_resize) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:1148:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:941:33: note: expanded from macro 'hashmap_put_boldly' 941 | hashmap_base_put_boldly(HASHMAP_BASE(h), idx, swap, may_resize) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:1167:16: warning: extension used [-Wlanguage-extension-token] 1167 | hash = bucket_hash(h, key); |  ^ ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:1167:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:1167:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:1167:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:1168:15: warning: extension used [-Wlanguage-extension-token] 1168 | idx = bucket_scan(h, hash, key); |  ^ ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:1168:15: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:1168:15: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:1168:15: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:1174:9: warning: extension used [-Wlanguage-extension-token] 1174 | hashmap_set_dirty(h); |  ^ ../src/shared/hashmap.c:316:45: note: expanded from macro 'hashmap_set_dirty' 316 | #define hashmap_set_dirty(h) base_set_dirty(HASHMAP_BASE(h)) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:1174:9: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:316:45: note: expanded from macro 'hashmap_set_dirty' 316 | #define hashmap_set_dirty(h) base_set_dirty(HASHMAP_BASE(h)) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:1174:9: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:316:45: note: expanded from macro 'hashmap_set_dirty' 316 | #define hashmap_set_dirty(h) base_set_dirty(HASHMAP_BASE(h)) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:1174:9: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:316:45: note: expanded from macro 'hashmap_set_dirty' 316 | #define hashmap_set_dirty(h) base_set_dirty(HASHMAP_BASE(h)) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:1186:16: warning: extension used [-Wlanguage-extension-token] 1186 | hash = bucket_hash(h, key); |  ^ ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:1186:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:1186:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:1186:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:1187:15: warning: extension used [-Wlanguage-extension-token] 1187 | idx = bucket_scan(h, hash, key); |  ^ ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:1187:15: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:1187:15: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:1187:15: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:1201:16: warning: extension used [-Wlanguage-extension-token] 1201 | hash = bucket_hash(h, key); |  ^ ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:1201:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:1201:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:1201:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:1202:16: warning: extension used [-Wlanguage-extension-token] 1202 | return bucket_scan(h, hash, key) != IDX_NIL; |  ^ ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:1202:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:1202:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:1202:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:1213:16: warning: extension used [-Wlanguage-extension-token] 1213 | hash = bucket_hash(h, key); |  ^ ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:1213:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:1213:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:1213:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:311:44: note: expanded from macro 'bucket_hash' 311 | #define bucket_hash(h, p) base_bucket_hash(HASHMAP_BASE(h), p) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:1214:15: warning: extension used [-Wlanguage-extension-token] 1214 | idx = bucket_scan(h, hash, key); |  ^ ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:1214:15: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:1214:15: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:1214:15: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:1110:51: note: expanded from macro 'bucket_scan' 1110 | #define bucket_scan(h, idx, key) base_bucket_scan(HASHMAP_BASE(h), idx, key) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:1220:9: warning: extension used [-Wlanguage-extension-token] 1220 | remove_entry(h, idx); |  ^ ../src/shared/hashmap.c:529:48: note: expanded from macro 'remove_entry' 529 | #define remove_entry(h, idx) base_remove_entry(HASHMAP_BASE(h), idx) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:1220:9: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:529:48: note: expanded from macro 'remove_entry' 529 | #define remove_entry(h, idx) base_remove_entry(HASHMAP_BASE(h), idx) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:1220:9: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:529:48: note: expanded from macro 'remove_entry' 529 | #define remove_entry(h, idx) base_remove_entry(HASHMAP_BASE(h), idx) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:1220:9: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:529:48: note: expanded from macro 'remove_entry' 529 | #define remove_entry(h, idx) base_remove_entry(HASHMAP_BASE(h), idx) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.c:1251:17: warning: extension used [-Wlanguage-extension-token] 1251 | remove_entry(h, idx); |  ^ ../src/shared/hashmap.c:529:48: note: expanded from macro 'remove_entry' 529 | #define remove_entry(h, idx) base_remove_entry(HASHMAP_BASE(h), idx) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.c:1251:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:529:48: note: expanded from macro 'remove_entry' 529 | #define remove_entry(h, idx) base_remove_entry(HASHMAP_BASE(h), idx) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.c:1251:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:529:48: note: expanded from macro 'remove_entry' 529 | #define remove_entry(h, idx) base_remove_entry(HASHMAP_BASE(h), idx) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.c:1251:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.c:529:48: note: expanded from macro 'remove_entry' 529 | #define remove_entry(h, idx) base_remove_entry(HASHMAP_BASE(h), idx) |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ 249 warnings generated. [36/38] Linking static target src/shared/libshared.a clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/sysusers/sysusers.c:17: In file included from ../src/shared/alloc-util.h:10: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/sysusers/sysusers.c:17: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/sysusers/sysusers.c:17: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/sysusers/sysusers.c:18: In file included from ../src/shared/chase.h:7: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/sysusers/sysusers.c:22: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/sysusers/sysusers.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/sysusers/sysusers.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/sysusers/sysusers.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/sysusers/sysusers.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/sysusers/sysusers.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/sysusers/sysusers.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/sysusers/sysusers.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/sysusers/sysusers.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/sysusers/sysusers.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/sysusers/sysusers.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/sysusers/sysusers.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/sysusers/sysusers.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/sysusers/sysusers.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/sysusers/sysusers.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/sysusers/sysusers.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/sysusers/sysusers.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/sysusers/sysusers.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/sysusers/sysusers.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/sysusers/sysusers.c:24: In file included from ../src/shared/fs-util.h:14: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/sysusers/sysusers.c:24: ../src/shared/fs-util.h:34:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 34 | return mfree(p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/sysusers/sysusers.c:24: ../src/shared/fs-util.h:34:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/sysusers/sysusers.c:24: ../src/shared/fs-util.h:36:52: warning: extra ';' outside of a function [-Wextra-semi] 36 | DEFINE_TRIVIAL_CLEANUP_FUNC(char*, unlink_and_free); |  ^ In file included from ../src/sysusers/sysusers.c:25: In file included from ../src/shared/hashmap.h:8: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/sysusers/sysusers.c:25: In file included from ../src/shared/hashmap.h:8: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/sysusers/sysusers.c:25: In file included from ../src/shared/hashmap.h:8: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/sysusers/sysusers.c:25: In file included from ../src/shared/hashmap.h:8: In file included from ../src/shared/hash-funcs.h:6: In file included from ../src/shared/siphash24.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/sysusers/sysusers.c:25: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/sysusers/sysusers.c:27: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:15:37: warning: extension used [-Wlanguage-extension-token] 15 | return (Set*) _hashmap_free(HASHMAP_BASE(s), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:15:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:15:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:15:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:19:37: warning: extension used [-Wlanguage-extension-token] 19 | return (Set*) _hashmap_free(HASHMAP_BASE(s), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:19:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:19:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:19:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:28:29: warning: extension used [-Wlanguage-extension-token] 28 | return _hashmap_get(HASHMAP_BASE((Set *) s), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:28:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:28:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:28:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:32:34: warning: extension used [-Wlanguage-extension-token] 32 | return _hashmap_contains(HASHMAP_BASE((Set *) s), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:32:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:32:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:32:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:36:32: warning: extension used [-Wlanguage-extension-token] 36 | return _hashmap_remove(HASHMAP_BASE(s), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:36:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:36:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:36:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:40:30: warning: extension used [-Wlanguage-extension-token] 40 | return _hashmap_size(HASHMAP_BASE((Set *) s)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:40:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:40:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:40:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:48:33: warning: extension used [-Wlanguage-extension-token] 48 | return _hashmap_iterate(HASHMAP_BASE((Set*) s), i, value, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:48:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:48:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:48:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:63:34: warning: extension used [-Wlanguage-extension-token] 63 | return _hashmap_get_strv(HASHMAP_BASE(s)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:63:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:63:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:63:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/sysusers/sysusers.c:29: ../src/shared/set.h:80:44: warning: extra ';' outside of a function [-Wextra-semi] 80 | DEFINE_TRIVIAL_CLEANUP_FUNC(Set*, set_free); |  ^ ../src/shared/set.h:81:49: warning: extra ';' outside of a function [-Wextra-semi] 81 | DEFINE_TRIVIAL_CLEANUP_FUNC(Set*, set_free_free); |  ^ ../src/sysusers/sysusers.c:165:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 165 | return mfree(range); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/sysusers/sysusers.c:165:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/sysusers/sysusers.c:168:55: warning: extra ';' outside of a function [-Wextra-semi] 168 | DEFINE_TRIVIAL_CLEANUP_FUNC(UidRange*, uid_range_free); |  ^ ../src/sysusers/sysusers.c:186:13: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 186 | r = CMP(a->start, b->start); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ ../src/sysusers/sysusers.c:186:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ ../src/sysusers/sysusers.c:186:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ ../src/sysusers/sysusers.c:190:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 190 | return CMP(a->nr, b->nr); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ ../src/sysusers/sysusers.c:190:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ ../src/sysusers/sysusers.c:190:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ ../src/sysusers/sysusers.c:262:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 262 | TAKE_PTR(range_new); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/sysusers/sysusers.c:262:9: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:262:9: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:262:9: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:472:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 472 | return IN_SET(code, 0, ENOENT, ESRCH, EBADF, EPERM); |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/sysusers/sysusers.c:472:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/sysusers/sysusers.c:472:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:472:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:472:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:472:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:514:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 514 | log_debug_errno(r, "%s: user '%s' is listed twice, ignoring duplicate uid.", |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:514:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:521:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 521 | log_debug_errno(r, "%s: uid "UID_FMT" is listed twice, ignoring duplicate name.", |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:521:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:568:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 568 | log_debug_errno(r, "%s: group '%s' is listed twice, ignoring duplicate gid.", |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:568:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:575:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 575 | log_debug_errno(r, "%s: gid "GID_FMT" is listed twice, ignoring duplicate name.", |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:575:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:637:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 637 | log_debug_errno(r, "Failed to query /proc/self/fd/%d%s: %m", |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:637:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:719:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 719 | log_warning_errno(r, "Failed to change access mode or ownership of %s: %m", x); |  ^ ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:719:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:722:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 722 | log_warning_errno(errno, "Failed to fix access and modification time of %s: %m", x); |  ^ ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:722:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:736:19: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 736 | dst_tmp = mfree(dst_tmp); /* disable the unlink_and_freep() hook now that the file has been renamed */ |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/sysusers/sysusers.c:736:19: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/sysusers/sysusers.c:761:17: warning: extension used [-Wlanguage-extension-token] 761 | STRV_FOREACH(i, a) { |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/sysusers/sysusers.c:839:51: warning: unused parameter 'root' [-Wunused-parameter] 839 | static const char* default_root_shell(const char *root) { |  ^ In file included from ../src/sysusers/sysusers.c:17: In file included from ../src/shared/alloc-util.h:10: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:59: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:905:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 905 | log_info("Would write /etc/passwd..."); |  ^ ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:905:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:911:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 911 | return log_debug_errno(r, "Failed to open temporary copy of %s: %m", passwd_path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:911:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:922:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 922 | return log_debug_errno(r, "Failed to copy permissions from %s to %s: %m", |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:922:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:928:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 928 | return log_error_errno(SYNTHETIC_ERRNO(EEXIST), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:928:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:933:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 933 | return log_error_errno(SYNTHETIC_ERRNO(EEXIST), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:933:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:938:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 938 | if (IN_SET(pw->pw_name[0], '+', '-')) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/sysusers/sysusers.c:938:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/sysusers/sysusers.c:938:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:938:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:938:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:938:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:943:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 943 | return log_debug_errno(r, "Failed to add existing user \"%s\" to temporary passwd file: %m", |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:943:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:947:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 947 | return log_debug_errno(r, "Failed to read %s: %m", passwd_path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:947:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:951:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 951 | return log_debug_errno(errno, "Failed to open %s: %m", passwd_path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:951:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:953:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 953 | return log_debug_errno(errno, "Failed to fchmod %s: %m", passwd_tmp); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:953:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:967:44: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 967 | .pw_dir = i->home ?: (char*) "/", |  ^ ../src/sysusers/sysusers.c:976:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 976 | return log_debug_errno(r, "Failed to add new user \"%s\" to temporary passwd file: %m", |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:976:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:984:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 984 | return log_debug_errno(r, "Failed to add existing user \"%s\" to temporary passwd file: %m", |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:984:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:989:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 989 | return log_debug_errno(r, "Failed to read %s: %m", passwd_path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:989:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:996:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 996 | return log_debug_errno(r, "Failed to flush %s: %m", passwd_tmp); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:996:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:998:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 998 | *ret_tmpfile = TAKE_PTR(passwd); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/sysusers/sysusers.c:998:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:998:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:998:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:999:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 999 | *ret_tmpfile_path = TAKE_PTR(passwd_tmp); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/sysusers/sysusers.c:999:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:999:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:999:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ In file included from ../src/sysusers/sysusers.c:17: In file included from ../src/shared/alloc-util.h:10: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:59: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:1024:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1024 | log_info("Would write /etc/shadow..."); |  ^ ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:1024:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1030:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1030 | return log_debug_errno(r, "Failed to open temporary copy of %s: %m", shadow_path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1030:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1040:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1040 | return log_debug_errno(r, "Failed to copy permissions from %s to %s: %m", |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1040:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1056:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1056 | if (IN_SET(sp->sp_namp[0], '+', '-')) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/sysusers/sysusers.c:1056:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/sysusers/sysusers.c:1056:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1056:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1056:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1056:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1061:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1061 | return log_debug_errno(r, "Failed to add existing user \"%s\" to temporary shadow file: %m", |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1061:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1066:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1066 | return log_debug_errno(r, "Failed to read %s: %m", shadow_path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1066:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1070:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1070 | return log_debug_errno(errno, "Failed to open %s: %m", shadow_path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1070:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1072:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1072 | return log_debug_errno(errno, "Failed to fchmod %s: %m", shadow_tmp); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1072:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1095:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1095 | return log_debug_errno(r, "Failed to add new user \"%s\" to temporary shadow file: %m", |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1095:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1103:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1103 | return log_debug_errno(r, "Failed to add existing user \"%s\" to temporary shadow file: %m", |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1103:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1108:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1108 | return log_debug_errno(r, "Failed to read %s: %m", shadow_path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1108:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1112:14: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1112 | if (!IN_SET(errno, 0, ENOENT)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/sysusers/sysusers.c:1112:14: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/sysusers/sysusers.c:1112:14: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1112:14: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1112:14: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1112:14: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1117:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1117 | return log_debug_errno(r, "Failed to flush %s: %m", shadow_tmp); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1117:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1119:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1119 | *ret_tmpfile = TAKE_PTR(shadow); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/sysusers/sysusers.c:1119:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:1119:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:1119:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:1120:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1120 | *ret_tmpfile_path = TAKE_PTR(shadow_tmp); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/sysusers/sysusers.c:1120:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:1120:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:1120:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ In file included from ../src/sysusers/sysusers.c:17: In file included from ../src/shared/alloc-util.h:10: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:59: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:1144:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1144 | log_info("Would write /etc/group..."); |  ^ ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:1144:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1150:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1150 | return log_error_errno(r, "Failed to open temporary copy of %s: %m", group_path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1150:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1157:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1157 | return log_error_errno(r, "Failed to copy permissions from %s to %s: %m", |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1157:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1168:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1168 | return log_error_errno(SYNTHETIC_ERRNO(EEXIST), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1168:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1173:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1173 | return log_error_errno(SYNTHETIC_ERRNO(EEXIST), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1173:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1178:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1178 | if (IN_SET(gr->gr_name[0], '+', '-')) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/sysusers/sysusers.c:1178:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/sysusers/sysusers.c:1178:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1178:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1178:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1178:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1183:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1183 | return log_error_errno(r, "Failed to add existing group \"%s\" to temporary group file: %m", |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1183:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1189:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1189 | return log_error_errno(r, "Failed to read %s: %m", group_path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1189:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1193:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1193 | return log_error_errno(errno, "Failed to open %s: %m", group_path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1193:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1195:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1195 | return log_error_errno(errno, "Failed to fchmod %s: %m", group_tmp); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1195:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1207:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1207 | return log_error_errno(r, "Failed to add new group \"%s\" to temporary group file: %m", |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1207:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1217:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1217 | return log_error_errno(r, "Failed to add existing group \"%s\" to temporary group file: %m", |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1217:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1222:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1222 | return log_error_errno(r, "Failed to read %s: %m", group_path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1222:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1229:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1229 | return log_error_errno(r, "Failed to flush %s: %m", group_tmp); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1229:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1232:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1232 | *ret_tmpfile = TAKE_PTR(group); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/sysusers/sysusers.c:1232:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:1232:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:1232:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:1233:37: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1233 | *ret_tmpfile_path = TAKE_PTR(group_tmp); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/sysusers/sysusers.c:1233:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:1233:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:1233:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:1239:26: warning: unused parameter 'c' [-Wunused-parameter] 1239 | Context *c, |  ^ ../src/sysusers/sysusers.c:1240:30: warning: unused parameter 'gshadow_path' [-Wunused-parameter] 1240 | const char * gshadow_path, |  ^ ../src/sysusers/sysusers.c:1241:24: warning: unused parameter 'ret_tmpfile' [-Wunused-parameter] 1241 | FILE **ret_tmpfile, |  ^ ../src/sysusers/sysusers.c:1242:24: warning: unused parameter 'ret_tmpfile_path' [-Wunused-parameter] 1242 | char **ret_tmpfile_path) { |  ^ ../src/sysusers/sysusers.c:1364:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1364 | return log_error_errno(r, "Failed to backup %s: %m", group_path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1364:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1369:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1369 | return log_error_errno(r, "Failed to backup %s: %m", gshadow_path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1369:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1375:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1375 | return log_error_errno(r, "Failed to backup %s: %m", passwd_path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1375:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1380:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1380 | return log_error_errno(r, "Failed to backup %s: %m", shadow_path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1380:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1387:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1387 | return log_error_errno(r, "Failed to rename %s to %s: %m", |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1387:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1389:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1389 | group_tmp = mfree(group_tmp); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/sysusers/sysusers.c:1389:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/sysusers/sysusers.c:1394:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1394 | return log_error_errno(r, "Failed to rename %s to %s: %m", |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1394:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1397:31: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1397 | gshadow_tmp = mfree(gshadow_tmp); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/sysusers/sysusers.c:1397:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/sysusers/sysusers.c:1403:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1403 | return log_error_errno(r, "Failed to rename %s to %s: %m", |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1403:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1406:30: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1406 | passwd_tmp = mfree(passwd_tmp); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/sysusers/sysusers.c:1406:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/sysusers/sysusers.c:1411:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1411 | return log_error_errno(r, "Failed to rename %s to %s: %m", |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1411:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1414:30: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1414 | shadow_tmp = mfree(shadow_tmp); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/sysusers/sysusers.c:1414:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/sysusers/sysusers.c:1463:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1463 | if (!IN_SET(errno, 0, ENOENT)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/sysusers/sysusers.c:1463:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/sysusers/sysusers.c:1463:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1463:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1463:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1463:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1472:37: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1472 | } else if (!IN_SET(errno, 0, ENOENT)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/sysusers/sysusers.c:1472:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/sysusers/sysusers.c:1472:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1472:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1472:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1472:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/sysusers/sysusers.c:17: In file included from ../src/shared/alloc-util.h:10: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:1555:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1555 | log_debug("User %s already exists.", i->name); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:1555:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:1568:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1568 | log_debug("User %s already exists.", i->name); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:1568:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1579:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1579 | return log_error_errno(errno, "Failed to check if user %s already exists: %m", i->name); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1579:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1586:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1586 | return log_error_errno(r, "Failed to verify UID " UID_FMT ": %m", i->uid); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1586:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:1588:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1588 | log_info("Suggested user ID " UID_FMT " for %s already used.", i->uid, i->name); |  ^ ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:1588:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:1600:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1600 | log_debug("User ID " UID_FMT " of file not suitable for %s.", candidate, i->name); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:1600:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1604:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1604 | return log_error_errno(r, "Failed to verify UID " UID_FMT ": %m", i->uid); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1604:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:1609:41: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1609 | log_debug("User ID " UID_FMT " of file for %s is already used.", candidate, i->name); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:1609:41: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1618:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1618 | return log_error_errno(r, "Failed to verify UID " UID_FMT ": %m", i->uid); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1618:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1630:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1630 | return log_error_errno(r, "No free user ID available for %s.", i->name); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1630:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1634:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1634 | return log_error_errno(r, "Failed to verify UID " UID_FMT ": %m", i->uid); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1634:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1645:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1645 | return log_error_errno(r, "Requested user %s with UID " UID_FMT " and gid" GID_FMT " to be created is duplicated " |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1645:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1650:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1650 | return log_error_errno(r, "Failed to store user %s with UID " UID_FMT " and GID " GID_FMT " to be created: %m", |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1650:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:1654:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1654 | log_info("Creating user '%s' (%s) with UID " UID_FMT " and GID " GID_FMT ".", |  ^ ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:1654:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1698:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1698 | if (!IN_SET(errno, 0, ENOENT)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/sysusers/sysusers.c:1698:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/sysusers/sysusers.c:1698:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1698:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1698:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1698:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1706:30: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1706 | if (!IN_SET(errno, 0, ENOENT)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/sysusers/sysusers.c:1706:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/sysusers/sysusers.c:1706:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1706:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1706:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1706:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:1742:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1742 | return log_error_errno(errno, "Failed to check if group %s already exists: %m", name); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1742:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:1758:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1758 | log_debug("Group %s already exists.", i->name); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:1758:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1767:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1767 | return log_error_errno(r, "Failed to verify GID " GID_FMT ": %m", i->gid); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1767:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1774:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1774 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1774:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:1781:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1781 | log_info("Suggested group ID " GID_FMT " for %s already used.", i->gid, i->name); |  ^ ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:1781:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1790:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1790 | return log_error_errno(r, "Failed to verify GID " GID_FMT ": %m", i->gid); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1790:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:1804:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1804 | log_debug("Group ID " GID_FMT " of file not suitable for %s.", candidate, i->name); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:1804:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1808:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1808 | return log_error_errno(r, "Failed to verify GID " GID_FMT ": %m", i->gid); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1808:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:1813:41: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1813 | log_debug("Group ID " GID_FMT " of file for %s already used.", candidate, i->name); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:1813:41: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1824:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1824 | return log_error_errno(r, "No free group ID available for %s.", i->name); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1824:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1828:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1828 | return log_error_errno(r, "Failed to verify GID " GID_FMT ": %m", i->gid); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1828:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1839:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1839 | return log_error_errno(r, "Requested group %s with GID "GID_FMT " to be created is duplicated or conflicts with another user.", i->name, i->gid); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1839:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1843:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1843 | return log_error_errno(r, "Failed to store group %s with GID " GID_FMT " to be created: %m", i->name, i->gid); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1843:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:1846:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1846 | log_info("Creating group '%s' with GID " GID_FMT ".", i->name, i->gid); |  ^ ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:1846:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1863:75: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 1863 | j = ordered_hashmap_get(c->groups, i->group_name ?: i->name); |  ^ ../src/sysusers/sysusers.c:1877:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1877 | return log_error_errno(r, "Group %s not found.", i->group_name); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1877:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1909:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1909 | return mfree(i); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/sysusers/sysusers.c:1909:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/sysusers/sysusers.c:1912:46: warning: extra ';' outside of a function [-Wextra-semi] 1912 | DEFINE_TRIVIAL_CLEANUP_FUNC(Item*, item_free); |  ^ ../src/sysusers/sysusers.c:1913:1: warning: extra ';' outside of a function [-Wextra-semi] 1913 | DEFINE_PRIVATE_HASH_OPS_WITH_VALUE_DESTRUCTOR(item_hash_ops, char, string_hash_func, string_compare_func, Item, item_free); | ^ ../src/shared/hash-funcs.h:68:9: note: expanded from macro 'DEFINE_PRIVATE_HASH_OPS_WITH_VALUE_DESTRUCTOR' 68 | _DEFINE_HASH_OPS_WITH_VALUE_DESTRUCTOR(UNIQ, name, type, hash_func, compare_func, value_type, free_func, static) |  ^ ../src/shared/hash-funcs.h:41:74: note: expanded from macro '_DEFINE_HASH_OPS_WITH_VALUE_DESTRUCTOR' 41 | _DEFINE_FREE_FUNC(uq, type_value, static_free_wrapper, free_func); \ |  ^ ../src/sysusers/sysusers.c:1932:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1932 | return TAKE_PTR(new); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/sysusers/sysusers.c:1932:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:1932:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:1932:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:1943:17: warning: extension used [-Wlanguage-extension-token] 1943 | STRV_FOREACH(m, l) |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/sysusers/sysusers.c:1954:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1954 | return log_error_errno(r, "Failed to add implicit user '%s': %m", j->name); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1954:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:1956:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1956 | log_debug("Adding implicit user '%s' due to m line", j->name); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:1956:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1957:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1957 | TAKE_PTR(j); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/sysusers/sysusers.c:1957:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:1957:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:1957:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:1971:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1971 | return log_error_errno(r, "Failed to add implicit group '%s': %m", j->name); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:1971:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:1973:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1973 | log_debug("Adding implicit group '%s' due to m line", j->name); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:1973:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:1974:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1974 | TAKE_PTR(j); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/sysusers/sysusers.c:1974:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:1974:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:1974:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ In file included from ../src/sysusers/sysusers.c:17: In file included from ../src/shared/alloc-util.h:10: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:2006:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2006 | log_debug("%s:%u: Item not equivalent because types differ", a->filename, a->line); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:2006:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:2011:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2011 | log_debug("%s:%u: Item not equivalent because names differ ('%s' vs. '%s')", a->filename, a->line, |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:2011:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:2018:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2018 | log_debug("%s:%u: Item not equivalent because UID paths differ (%s vs. %s)", a->filename, a->line, |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:2018:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2019:41: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 2019 | a->uid_path ?: "(unset)", b->uid_path ?: "(unset)"); |  ^ ../src/sysusers/sysusers.c:2019:67: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 2019 | a->uid_path ?: "(unset)", b->uid_path ?: "(unset)"); |  ^ In file included from ../src/sysusers/sysusers.c:17: In file included from ../src/shared/alloc-util.h:10: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:2024:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2024 | log_debug("%s:%u: Item not equivalent because GID paths differ (%s vs. %s)", a->filename, a->line, |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:2024:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2025:41: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 2025 | a->gid_path ?: "(unset)", b->gid_path ?: "(unset)"); |  ^ ../src/sysusers/sysusers.c:2025:67: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 2025 | a->gid_path ?: "(unset)", b->gid_path ?: "(unset)"); |  ^ In file included from ../src/sysusers/sysusers.c:17: In file included from ../src/shared/alloc-util.h:10: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:2030:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2030 | log_debug("%s:%u: Item not equivalent because descriptions differ ('%s' vs. '%s')", a->filename, a->line, |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:2030:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:2037:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2037 | log_debug("%s:%u: Item not equivalent because UIDs differ (%lld vs. %lld)", a->filename, a->line, |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:2037:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:2044:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2044 | log_debug("%s:%u: Item not equivalent because GIDs differ (%lld vs. %lld)", a->filename, a->line, |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:2044:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:2050:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2050 | log_debug("%s:%u: Item not equivalent because home directories differ ('%s' vs. '%s')", a->filename, a->line, |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:2050:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2070:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2070 | log_full_errno(ERRNO_IS_RESOURCE(r) ? LOG_ERR : LOG_DEBUG, |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2070:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2078:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2078 | log_full_errno(ERRNO_IS_RESOURCE(r) ? LOG_ERR : LOG_DEBUG, |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2078:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:2085:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2085 | log_debug("%s:%u: Item not equivalent because shells differ ('%s' vs. '%s')", a->filename, a->line, |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:2085:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2174:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2174 | !IN_SET(*i, '_', '-')) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/sysusers/sysusers.c:2174:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/sysusers/sysusers.c:2174:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:2174:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:2174:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:2174:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:2199:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2199 | Context *c = ASSERT_PTR(context); |  ^ ../src/shared/macro.h:106:26: note: expanded from macro 'ASSERT_PTR' 106 | #define ASSERT_PTR(expr) _ASSERT_PTR(expr, UNIQ_T(_expr_, UNIQ), assert) |  ^ ../src/shared/macro.h:109:10: note: expanded from macro '_ASSERT_PTR' 109 | ({ \ |  ^ ../src/sysusers/sysusers.c:2199:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:106:26: note: expanded from macro 'ASSERT_PTR' 106 | #define ASSERT_PTR(expr) _ASSERT_PTR(expr, UNIQ_T(_expr_, UNIQ), assert) |  ^ ../src/shared/macro.h:110:17: note: expanded from macro '_ASSERT_PTR' 110 | typeof(expr) var = (expr); \ |  ^ ../src/sysusers/sysusers.c:2232:17: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] 2232 | {} |  ^ ../src/sysusers/sysusers.c:2249:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2249 | return log_error_errno(r, "%s:%u: Syntax error.", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2249:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2251:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2251 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "%s:%u: Missing action and name columns.", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2251:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2253:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2253 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "%s:%u: Trailing garbage.", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2253:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2257:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2257 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "%s:%u: Unknown modifier '%s'.", fname, line, action); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2257:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2259:14: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2259 | if (!IN_SET(action[0], ADD_USER, ADD_GROUP, ADD_MEMBER, ADD_RANGE)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/sysusers/sysusers.c:2259:14: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/sysusers/sysusers.c:2259:14: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:2259:14: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:2259:14: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:2259:14: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/sysusers/sysusers.c:2260:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2260 | return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "%s:%u: Unknown command type '%c'.", fname, line, action[0]); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2260:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2264:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2264 | name = mfree(name); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/sysusers/sysusers.c:2264:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/sysusers/sysusers.c:2269:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2269 | return log_error_errno(r, "%s:%u: Failed to replace specifiers in '%s': %m", fname, line, name); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2269:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2272:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2272 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2272:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2278:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2278 | id = mfree(id); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/sysusers/sysusers.c:2278:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/sysusers/sysusers.c:2283:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2283 | return log_error_errno(r, "%s:%u: Failed to replace specifiers in '%s': %m", fname, line, name); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2283:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2288:31: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2288 | description = mfree(description); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/sysusers/sysusers.c:2288:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/sysusers/sysusers.c:2293:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2293 | return log_error_errno(r, "%s:%u: Failed to replace specifiers in '%s': %m", fname, line, description); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2293:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2296:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2296 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "%s:%u: '%s' is not a valid GECOS field.", fname, line, resolved_description); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2296:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2301:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2301 | home = mfree(home); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/sysusers/sysusers.c:2301:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/sysusers/sysusers.c:2306:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2306 | return log_error_errno(r, "%s:%u: Failed to replace specifiers in '%s': %m", fname, line, home); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2306:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2311:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2311 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "%s:%u: '%s' is not a valid home directory field.", fname, line, resolved_home); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2311:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2316:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2316 | shell = mfree(shell); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/sysusers/sysusers.c:2316:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/sysusers/sysusers.c:2321:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2321 | return log_error_errno(r, "%s:%u: Failed to replace specifiers in '%s': %m", fname, line, shell); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2321:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2326:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2326 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "%s:%u: '%s' is not a valid login shell field.", fname, line, resolved_shell); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2326:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2333:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2333 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "%s:%u: Lines of type 'r' don't take a name field.", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2333:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2336:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2336 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "%s:%u: Lines of type 'r' require an ID range in the third field.", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2336:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2339:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2339 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "%s:%u: Lines of type '%c' don't take a %s field.", fname, line, |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2339:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2345:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2345 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "%s:%u: Invalid UID range %s.", fname, line, resolved_id); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2345:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2352:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2352 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "%s:%u: Lines of type 'm' require a user name in the second field.", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2352:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2355:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2355 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "%s:%u: Lines of type 'm' require a group name in the third field.", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2355:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2358:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2358 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "%s:%u: '%s' is not a valid user or group name.", fname, line, resolved_id); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2358:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2361:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2361 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "%s:%u: Lines of type '%c' don't take a %s field.", fname, line, |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2361:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2367:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2367 | return log_error_errno(r, "Failed to store mapping for %s: %m", resolved_id); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2367:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2374:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2374 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "%s:%u: Lines of type 'u' require a user name in the second field.", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2374:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2386:61: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2386 | i->uid_path = path_simplify(TAKE_PTR(resolved_id)); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/sysusers/sysusers.c:2386:61: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:2386:61: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:2386:61: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:2393:73: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2393 | i->group_name = TAKE_PTR(gid); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/sysusers/sysusers.c:2393:73: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:2393:73: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:2393:73: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:2395:64: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2395 | return log_error_errno(r, "%s:%u: Failed to parse GID: '%s': %m", fname, line, id); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2395:64: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2400:41: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2400 | free_and_replace(resolved_id, uid); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/sysusers/sysusers.c:2400:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/sysusers/sysusers.c:2400:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ ../src/sysusers/sysusers.c:2405:56: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2405 | return log_error_errno(r, "%s:%u: Failed to parse UID: '%s': %m", fname, line, id); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2405:56: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2411:34: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2411 | i->description = TAKE_PTR(resolved_description); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/sysusers/sysusers.c:2411:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:2411:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:2411:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:2412:27: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2412 | i->home = TAKE_PTR(resolved_home); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/sysusers/sysusers.c:2412:27: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:2412:27: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:2412:27: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:2413:28: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2413 | i->shell = TAKE_PTR(resolved_shell); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/sysusers/sysusers.c:2413:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:2413:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:2413:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:2420:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2420 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "%s:%u: Lines of type 'g' require a user name in the second field.", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2420:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2423:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2423 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "%s:%u: Lines of type '%c' don't take a %s field.", fname, line, |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2423:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2437:61: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2437 | i->gid_path = path_simplify(TAKE_PTR(resolved_id)); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/sysusers/sysusers.c:2437:61: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:2437:61: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:2437:61: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/sysusers/sysusers.c:2441:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2441 | return log_error_errno(r, "%s:%u: Failed to parse GID: '%s': %m", fname, line, id); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2441:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:2462:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2462 | log_warning("%s:%u: Conflict with earlier configuration for %s '%s' in %s:%u, ignoring line.", fname, line, |  ^ ../src/shared/log.h:79:28: note: expanded from macro 'log_warning' 79 | #define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:2462:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:79:28: note: expanded from macro 'log_warning' 79 | #define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:2467:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2467 | log_warning("%s:%u: Conflict with earlier configuration for %s '%s', ignoring line.", fname, line, |  ^ ../src/shared/log.h:79:28: note: expanded from macro 'log_warning' 79 | #define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:2467:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:79:28: note: expanded from macro 'log_warning' 79 | #define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2487:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2487 | ASSERT_PTR(fn), |  ^ ../src/shared/macro.h:106:26: note: expanded from macro 'ASSERT_PTR' 106 | #define ASSERT_PTR(expr) _ASSERT_PTR(expr, UNIQ_T(_expr_, UNIQ), assert) |  ^ ../src/shared/macro.h:109:10: note: expanded from macro '_ASSERT_PTR' 109 | ({ \ |  ^ ../src/sysusers/sysusers.c:2487:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:106:26: note: expanded from macro 'ASSERT_PTR' 106 | #define ASSERT_PTR(expr) _ASSERT_PTR(expr, UNIQ_T(_expr_, UNIQ), assert) |  ^ ../src/shared/macro.h:110:17: note: expanded from macro '_ASSERT_PTR' 110 | typeof(expr) var = (expr); \ |  ^ ../src/sysusers/sysusers.c:2489:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2489 | ASSERT_PTR(c), |  ^ ../src/shared/macro.h:106:26: note: expanded from macro 'ASSERT_PTR' 106 | #define ASSERT_PTR(expr) _ASSERT_PTR(expr, UNIQ_T(_expr_, UNIQ), assert) |  ^ ../src/shared/macro.h:109:10: note: expanded from macro '_ASSERT_PTR' 109 | ({ \ |  ^ ../src/sysusers/sysusers.c:2489:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:106:26: note: expanded from macro 'ASSERT_PTR' 106 | #define ASSERT_PTR(expr) _ASSERT_PTR(expr, UNIQ_T(_expr_, UNIQ), assert) |  ^ ../src/shared/macro.h:110:17: note: expanded from macro '_ASSERT_PTR' 110 | typeof(expr) var = (expr); \ |  ^ ../src/sysusers/sysusers.c:2547:17: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] 2547 | {} |  ^ ../src/sysusers/sysusers.c:2581:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2581 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2581:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2584:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2584 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2584:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2606:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2606 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2606:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2610:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2610 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2610:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2622:9: warning: extension used [-Wlanguage-extension-token] 2622 | STRV_FOREACH(arg, args) { |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/sysusers/sysusers.c:2648:9: warning: extension used [-Wlanguage-extension-token] 2648 | STRV_FOREACH(f, files) |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ In file included from ../src/sysusers/sysusers.c:17: In file included from ../src/shared/alloc-util.h:10: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:2650:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2650 | log_debug("Parsing arguments at position \"%s\"...", *f); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:2650:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/sysusers/sysusers.c:2656:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2656 | log_debug("Reading config file \"%s\"...", *f); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/sysusers/sysusers.c:2656:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2722:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2722 | return log_error_errno(log_oom_debug(), "Failed to take /etc/passwd lock: %m"); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2722:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2728:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2728 | return log_error_errno(errno, "Cannot open %s: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2728:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2732:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2732 | return log_error_errno(r, "Locking %s failed: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2732:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2737:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2737 | return log_error_errno(r, "Failed to load user database: %m"); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2737:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/sysusers/sysusers.c:2741:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2741 | return log_error_errno(r, "Failed to read group database: %m"); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/sysusers/sysusers.c:2741:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ 681 warnings generated. [37/38] Linking target src/sysusers/sd-sysusers clang: warning: argument unused during compilation: '-fstack-clash-protection' [-Wunused-command-line-argument] In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: ../src/shared/macro.h:372:20: warning: zero size arrays are an extension [-Wzero-length-array] 372 | int _empty[0]; |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: ../src/shared/acl-util.h:26:56: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(acl_t, acl_free, NULL); |  ^ ../src/shared/acl-util.h:28:62: warning: extra ';' outside of a function [-Wextra-semi] 28 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(char*, acl_free_charp, NULL); |  ^ ../src/shared/acl-util.h:30:64: warning: extra ';' outside of a function [-Wextra-semi] 30 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(uid_t*, acl_free_uid_tp, NULL); |  ^ ../src/shared/acl-util.h:32:64: warning: extra ';' outside of a function [-Wextra-semi] 32 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(gid_t*, acl_free_gid_tp, NULL); |  ^ In file included from ../src/tmpfiles/tmpfiles.c:26: ../src/shared/alloc-util.h:29:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 29 | *(void**)p = mfree(*(void**) p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:26: ../src/shared/alloc-util.h:29:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:28: In file included from ../src/shared/chase.h:7: ../src/shared/stat-util.h:13:9: warning: extension used [-Wlanguage-extension-token] 13 | typedef typeof(((struct statfs*)NULL)->f_type) statfs_f_type_t; |  ^ In file included from ../src/tmpfiles/tmpfiles.c:32: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 18 | return CMP(a, b); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:32: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:32: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:18:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:32: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:10: ../src/shared/string-util.h:40:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 40 | return s ?: ""; |  ^ ../src/shared/string-util.h:72:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 72 | return s ?: "(null)"; |  ^ ../src/shared/string-util.h:76:19: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 76 | return s ?: "n/a"; |  ^ In file included from ../src/tmpfiles/tmpfiles.c:32: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:11: In file included from ../src/shared/strv.h:12: ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] 74 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:74:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] 77 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:77:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] 81 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:81:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] 84 | return (void*) _hashmap_free(HASHMAP_BASE(h), NULL, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:84:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] 88 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:88:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] 91 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:91:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] 95 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:95:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] 98 | return (void*) _hashmap_free(HASHMAP_BASE(h), free, free); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:98:38: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] 114 | return hashmap_put(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:114:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] 119 | return hashmap_update(PLAIN_HASHMAP(h), key, value); |  ^ ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:51:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 51 | (__builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:119:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:60:31: note: expanded from macro 'PLAIN_HASHMAP' 60 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_PLAIN_HASHMAP(h), \ |  ^ ../src/shared/hashmap.h:52:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_PLAIN_HASHMAP' 52 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*)) \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] 124 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:124:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] 127 | return _hashmap_get(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:127:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] 132 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:132:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] 135 | return _hashmap_contains(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:135:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] 140 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:140:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] 143 | return _hashmap_remove(HASHMAP_BASE(h), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:143:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] 148 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:148:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] 151 | return _hashmap_size(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:151:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] 163 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:163:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] 166 | return _hashmap_iterate(HASHMAP_BASE(h), i, value, key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:166:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] 186 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:186:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] 189 | return _hashmap_get_strv(HASHMAP_BASE(h)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ ../src/shared/hashmap.h:189:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ ../src/shared/hashmap.h:228:52: warning: extra ';' outside of a function [-Wextra-semi] 228 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free); |  ^ ../src/shared/hashmap.h:229:57: warning: extra ';' outside of a function [-Wextra-semi] 229 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free); |  ^ ../src/shared/hashmap.h:230:61: warning: extra ';' outside of a function [-Wextra-semi] 230 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:231:62: warning: extra ';' outside of a function [-Wextra-semi] 231 | DEFINE_TRIVIAL_CLEANUP_FUNC(Hashmap*, hashmap_free_free_free); |  ^ ../src/shared/hashmap.h:232:67: warning: extra ';' outside of a function [-Wextra-semi] 232 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free); |  ^ ../src/shared/hashmap.h:233:72: warning: extra ';' outside of a function [-Wextra-semi] 233 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free); |  ^ ../src/shared/hashmap.h:234:76: warning: extra ';' outside of a function [-Wextra-semi] 234 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_key); |  ^ ../src/shared/hashmap.h:235:77: warning: extra ';' outside of a function [-Wextra-semi] 235 | DEFINE_TRIVIAL_CLEANUP_FUNC(OrderedHashmap*, ordered_hashmap_free_free_free); |  ^ In file included from ../src/tmpfiles/tmpfiles.c:32: In file included from ../src/shared/dirent-util.h:9: In file included from ../src/shared/path-util.h:11: ../src/shared/strv.h:21:47: warning: extra ';' outside of a function [-Wextra-semi] 21 | DEFINE_TRIVIAL_CLEANUP_FUNC(char**, strv_free); |  ^ In file included from ../src/tmpfiles/tmpfiles.c:33: ../src/shared/errno-util.h:85:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 85 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:33: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:33: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:33: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:33: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:33: ../src/shared/errno-util.h:85:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:33: ../src/shared/errno-util.h:90:30: warning: extra ';' outside of a function [-Wextra-semi] 90 | _DEFINE_ABS_WRAPPER(RESOURCE); |  ^ ../src/shared/errno-util.h:94:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 94 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:33: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:33: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:33: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:33: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:33: ../src/shared/errno-util.h:94:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:33: ../src/shared/errno-util.h:103:35: warning: extra ';' outside of a function [-Wextra-semi] 103 | _DEFINE_ABS_WRAPPER(NOT_SUPPORTED); |  ^ ../src/shared/errno-util.h:107:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 107 | return IN_SET(r, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:33: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:33: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:33: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:33: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:33: ../src/shared/errno-util.h:107:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:33: ../src/shared/errno-util.h:111:31: warning: extra ';' outside of a function [-Wextra-semi] 111 | _DEFINE_ABS_WRAPPER(PRIVILEGE); |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:26:54: warning: extra ';' outside of a function [-Wextra-semi] 26 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(FILE*, pclose, NULL); |  ^ ../src/shared/fd-util.h:27:55: warning: extra ';' outside of a function [-Wextra-semi] 27 | DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(DIR*, closedir, NULL); |  ^ ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:59:57: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:59:57: warning: zero size arrays are an extension [-Wzero-length-array] 59 | static inline char *format_proc_fd_path(char buf[static PROC_FD_PATH_MAX], int fd) { |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:62:23: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:35: ../src/shared/fd-util.h:62:23: warning: zero size arrays are an extension [-Wzero-length-array] 62 | snprintf(buf, PROC_FD_PATH_MAX, "/proc/self/fd/%i", fd); |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ In file included from ../src/tmpfiles/tmpfiles.c:37: ../src/shared/fs-util.h:34:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 34 | return mfree(p); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:37: ../src/shared/fs-util.h:34:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:37: ../src/shared/fs-util.h:36:52: warning: extra ';' outside of a function [-Wextra-semi] 36 | DEFINE_TRIVIAL_CLEANUP_FUNC(char*, unlink_and_free); |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:15:37: warning: extension used [-Wlanguage-extension-token] 15 | return (Set*) _hashmap_free(HASHMAP_BASE(s), NULL, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:15:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:15:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:15:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:19:37: warning: extension used [-Wlanguage-extension-token] 19 | return (Set*) _hashmap_free(HASHMAP_BASE(s), free, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:19:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:19:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:19:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:28:29: warning: extension used [-Wlanguage-extension-token] 28 | return _hashmap_get(HASHMAP_BASE((Set *) s), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:28:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:28:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:28:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:32:34: warning: extension used [-Wlanguage-extension-token] 32 | return _hashmap_contains(HASHMAP_BASE((Set *) s), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:32:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:32:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:32:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:36:32: warning: extension used [-Wlanguage-extension-token] 36 | return _hashmap_remove(HASHMAP_BASE(s), key); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:36:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:36:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:36:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:40:30: warning: extension used [-Wlanguage-extension-token] 40 | return _hashmap_size(HASHMAP_BASE((Set *) s)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:40:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:40:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:40:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:48:33: warning: extension used [-Wlanguage-extension-token] 48 | return _hashmap_iterate(HASHMAP_BASE((Set*) s), i, value, NULL); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:48:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:48:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:48:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:63:34: warning: extension used [-Wlanguage-extension-token] 63 | return _hashmap_get_strv(HASHMAP_BASE(s)); |  ^ ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:45:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 45 | (__builtin_types_compatible_p(typeof(h), HashmapBase*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:63:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:46:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 46 | __builtin_types_compatible_p(typeof(h), Hashmap*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:63:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:47:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 47 | __builtin_types_compatible_p(typeof(h), OrderedHashmap*) || \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:63:34: warning: extension used [-Wlanguage-extension-token] ../src/shared/hashmap.h:55:31: note: expanded from macro 'HASHMAP_BASE' 55 | __builtin_choose_expr(PTR_COMPATIBLE_WITH_HASHMAP_BASE(h), \ |  ^ ../src/shared/hashmap.h:48:39: note: expanded from macro 'PTR_COMPATIBLE_WITH_HASHMAP_BASE' 48 | __builtin_types_compatible_p(typeof(h), Set*)) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:47: ../src/shared/set.h:80:44: warning: extra ';' outside of a function [-Wextra-semi] 80 | DEFINE_TRIVIAL_CLEANUP_FUNC(Set*, set_free); |  ^ ../src/shared/set.h:81:49: warning: extra ';' outside of a function [-Wextra-semi] 81 | DEFINE_TRIVIAL_CLEANUP_FUNC(Set*, set_free_free); |  ^ ../src/tmpfiles/tmpfiles.c:267:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 267 | return IN_SET(abs(r), |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:267:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:267:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:267:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:267:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:267:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:331:20: warning: extension used [-Wlanguage-extension-token] 331 | assert(i < ELEMENTSOF(paths_system)); |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:331:20: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:331:20: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:331:20: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:403:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 403 | *ret = TAKE_PTR(j); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:403:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:403:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:403:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:405:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 405 | *ret = TAKE_PTR(p); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:405:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:405:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:405:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:312:37: warning: unused parameter 'specifier' [-Wunused-parameter] 312 | static int specifier_directory(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:312:78: warning: unused parameter 'root' [-Wunused-parameter] 312 | static int specifier_directory(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:312:96: warning: unused parameter 'userdata' [-Wunused-parameter] 312 | static int specifier_directory(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:410:37: warning: unused parameter 'specifier' [-Wunused-parameter] 410 | static int specifier_user_home(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:410:60: warning: unused parameter 'data' [-Wunused-parameter] 410 | static int specifier_user_home(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:410:78: warning: unused parameter 'root' [-Wunused-parameter] 410 | static int specifier_user_home(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:410:96: warning: unused parameter 'userdata' [-Wunused-parameter] 410 | static int specifier_user_home(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:456:38: warning: unused parameter 'specifier' [-Wunused-parameter] 456 | static int specifier_group_name(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:456:61: warning: unused parameter 'data' [-Wunused-parameter] 456 | static int specifier_group_name(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:456:79: warning: unused parameter 'root' [-Wunused-parameter] 456 | static int specifier_group_name(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:456:97: warning: unused parameter 'userdata' [-Wunused-parameter] 456 | static int specifier_group_name(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:469:36: warning: unused parameter 'specifier' [-Wunused-parameter] 469 | static int specifier_group_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:469:59: warning: unused parameter 'data' [-Wunused-parameter] 469 | static int specifier_group_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:469:77: warning: unused parameter 'root' [-Wunused-parameter] 469 | static int specifier_group_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:469:95: warning: unused parameter 'userdata' [-Wunused-parameter] 469 | static int specifier_group_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:482:37: warning: unused parameter 'specifier' [-Wunused-parameter] 482 | static int specifier_user_name(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:482:60: warning: unused parameter 'data' [-Wunused-parameter] 482 | static int specifier_user_name(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:482:78: warning: unused parameter 'root' [-Wunused-parameter] 482 | static int specifier_user_name(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:482:96: warning: unused parameter 'userdata' [-Wunused-parameter] 482 | static int specifier_user_name(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:505:35: warning: unused parameter 'specifier' [-Wunused-parameter] 505 | static int specifier_user_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:505:58: warning: unused parameter 'data' [-Wunused-parameter] 505 | static int specifier_user_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:505:76: warning: unused parameter 'root' [-Wunused-parameter] 505 | static int specifier_user_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ ../src/tmpfiles/tmpfiles.c:505:94: warning: unused parameter 'userdata' [-Wunused-parameter] 505 | static int specifier_user_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:534:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 534 | log_full(log_level, "%s:%u: Failed to resolve specifier: %s, skipping.", filename, line, |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:534:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:59: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:538:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 538 | log_full(log_level, |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:538:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:585:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 585 | *ret = TAKE_PTR(j); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:585:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:585:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:585:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:615:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 615 | *ret = TAKE_PTR(j); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:615:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:615:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:615:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:648:28: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 648 | *ret_config_dirs = TAKE_PTR(config_dirs); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:648:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:648:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:648:28: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:649:26: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 649 | *ret_data_dirs = TAKE_PTR(data_dirs); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:649:26: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:649:26: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:649:26: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:706:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 706 | *ret = TAKE_PTR(res); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:706:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:706:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:706:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:711:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 711 | return IN_SET(t, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:711:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:711:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:711:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:711:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:711:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:729:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 729 | return IN_SET(t, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:729:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:729:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:729:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:729:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:729:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:748:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 748 | return IN_SET(t, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:748:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:748:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:748:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:748:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:748:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:798:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 798 | return log_full_errno(errno == ENOENT ? LOG_DEBUG : LOG_WARNING, errno, |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:798:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:804:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 804 | return log_warning_errno(r, "Failed to skip /proc/net/unix header line: %m"); |  ^ ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:804:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:806:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 806 | return log_warning_errno(SYNTHETIC_ERRNO(EIO), "Premature end of file reading /proc/net/unix."); |  ^ ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:806:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:814:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 814 | return log_warning_errno(r, "Failed to read /proc/net/unix line, ignoring: %m"); |  ^ ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:814:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:835:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 835 | return log_warning_errno(r, "Failed to add AF_UNIX socket to set, ignoring: %m"); |  ^ ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:835:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:838:27: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 838 | c->unix_sockets = TAKE_PTR(sockets); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:838:27: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:838:27: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:838:27: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:855:36: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 855 | return i->binary_argument ?: i->argument; |  ^ ../src/tmpfiles/tmpfiles.c:870:14: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 870 | if (!IN_SET(errno, ENOENT, ELOOP)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:870:14: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:870:14: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:870:14: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:870:14: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:870:14: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:871:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 871 | log_debug_errno(errno, "Cannot open %sdirectory \"%s\": %m", dirfd == AT_FDCWD ? "" : "sub", path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:871:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:878:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 878 | log_debug_errno(errno, "Cannot open %sdirectory \"%s\": %m", dirfd == AT_FDCWD ? "" : "sub", path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:878:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:899:31: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 899 | bool ignore = IN_SET(errno, ENOENT, ENOTDIR); |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:899:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:899:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:899:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:899:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:899:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:900:21: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 900 | r = log_full_errno(ignore ? LOG_DEBUG : LOG_ERR, |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:900:21: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:906:41: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] 906 | *ret_st = (struct stat) {}; |  ^ ../src/tmpfiles/tmpfiles.c:912:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 912 | return log_error_errno(errno, "fstatat(%s) failed: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:912:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:915:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 915 | return log_error_errno(errno, "stat(%s/..) failed: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:915:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:922:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 922 | *ret = TAKE_PTR(d); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:922:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:922:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:922:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:951:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 951 | log_debug("%s \"%s\": modify time %llu is too new.", |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:951:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:960:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 960 | log_debug("%s \"%s\": access time %llu is too new.", |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:960:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:973:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 973 | log_debug("%s \"%s\": change time %llu is too new.", |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:973:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:982:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 982 | log_debug("%s \"%s\": birth time %llu is too new.", |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:982:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1026:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1026 | r = log_full_errno(errno == EACCES ? LOG_DEBUG : LOG_ERR, -errno, |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1026:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1032:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1032 | log_debug("Ignoring \"%s/%s\": different filesystem.", p, de->d_name); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1032:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1044:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1044 | log_debug_errno(q, "Failed to determine whether \"%s/%s\" is a mount point, ignoring: %m", p, de->d_name); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1044:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1046:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1046 | log_debug("Ignoring \"%s/%s\": different mount of the same filesystem.", p, de->d_name); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1046:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1064:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1064 | log_debug("Ignoring \"%s\": a separate entry exists.", sub_path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1064:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1069:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1069 | log_debug("Ignoring \"%s\": a separate glob exists.", sub_path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1069:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1079:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1079 | log_debug("Ignoring directory \"%s\".", sub_path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1079:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1084:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1084 | log_warning("Reached max depth on \"%s\".", sub_path); |  ^ ../src/shared/log.h:79:28: note: expanded from macro 'log_warning' 79 | #define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1084:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:79:28: note: expanded from macro 'log_warning' 79 | #define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1091:53: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1091 | r = log_warning_errno(errno, "Opening directory \"%s\" failed, ignoring: %m", sub_path); |  ^ ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1091:53: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1098:41: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1098 | log_debug_errno(errno, "Couldn't acquire shared BSD lock on directory \"%s\", skipping: %m", sub_path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1098:41: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1118:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1118 | log_debug("Keeping directory \"%s\".", sub_path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1118:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1130:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1130 | log_action("Would remove", "Removing", "%s directory \"%s\"", sub_path); |  ^ ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1130:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1133:30: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1133 | !IN_SET(errno, ENOENT, ENOTEMPTY)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1133:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:1133:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1133:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1133:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1133:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1134:37: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1134 | r = log_warning_errno(errno, "Failed to remove directory \"%s\", ignoring: %m", sub_path); |  ^ ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1134:37: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1144:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1144 | log_debug("Skipping \"%s\": sticky bit set.", sub_path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1144:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1155:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1155 | log_debug("Skipping \"%s\".", sub_path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1155:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1161:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1161 | log_debug("Skipping \"%s\": live socket.", sub_path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1161:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1167:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1167 | log_debug("Skipping \"%s\": a device.", sub_path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1167:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1173:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1173 | log_debug("Keeping \"%s\".", sub_path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1173:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1187:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1187 | if (fd < 0 && !IN_SET(fd, -ENOENT, -ELOOP)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1187:48: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:1187:48: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1187:48: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1187:48: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1187:48: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1188:41: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1188 | log_warning_errno(fd, "Opening file \"%s\" failed, ignoring: %m", sub_path); |  ^ ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1188:41: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1190:41: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1190 | log_debug_errno(errno, "Couldn't acquire shared BSD lock on file \"%s\", skipping: %m", sub_path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1190:41: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1195:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1195 | log_action("Would remove", "Removing", "%s \"%s\"", sub_path); |  ^ ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1195:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1199:37: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1199 | r = log_warning_errno(errno, "Failed to remove \"%s\", ignoring: %m", sub_path); |  ^ ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1199:37: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1209:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1209 | log_action("Would restore", "Restoring", |  ^ ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1209:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1224:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1224 | log_warning_errno(errno, "Failed to revert timestamps of '%s', ignoring: %m", p); |  ^ ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1224:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1279:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1279 | return log_error_errno(errno, "fstat(%s) failed: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1279:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1284:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1284 | return log_error_errno(SYNTHETIC_ERRNO(EPERM), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1284:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1307:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1307 | log_debug("Skipping temporary mode fix for symlink %s.", path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1307:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1312:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1312 | log_debug("\"%s\" matches temporary mode %o already.", path, m); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1312:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1314:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1314 | log_action("Would temporarily change", "Temporarily changing", |  ^ ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1314:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1319:56: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1319 | return log_error_errno(r, "fchmod() of %s failed: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1319:56: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1326:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1326 | log_action("Would change", "Changing", |  ^ ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1326:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1334:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1334 | return log_error_errno(errno, "fchownat() of %s failed: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1334:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1341:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1341 | log_debug("Skipping mode fix for symlink %s.", path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1341:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1343:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1343 | log_action("Would change", "Changing", "%s \"%s\" to mode %o", path, new_mode); |  ^ ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1343:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1347:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1347 | return log_error_errno(r, "fchmod() of %s failed: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1347:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1361:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1361 | return log_full_errno(allow_failure ? LOG_INFO : LOG_ERR, |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1361:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1369:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1369 | return log_full_errno(allow_failure ? LOG_INFO : LOG_ERR, |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1369:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1379:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1379 | return log_full_errno(allow_failure ? LOG_INFO : LOG_ERR, |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1379:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1398:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1398 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Failed to open invalid path '%s'.", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1398:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1404:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1404 | return log_error_errno(r, "Failed to open path %s: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1404:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1440:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1440 | log_warning_errno(r, "Failed to parse extended attribute '%s', ignoring: %m", p); |  ^ ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1440:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1446:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1446 | log_warning_errno(r, "Failed to parse extended attribute, ignoring: %s", xattr); |  ^ ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1446:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1451:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1451 | log_warning("Malformed extended attribute found, ignoring: %s", xattr); |  ^ ../src/shared/log.h:79:28: note: expanded from macro 'log_warning' 79 | #define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1451:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:79:28: note: expanded from macro 'log_warning' 79 | #define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1477:9: warning: extension used [-Wlanguage-extension-token] 1477 | STRV_FOREACH_PAIR(name, value, i->xattrs) { |  ^ ../src/shared/strv.h:86:9: note: expanded from macro 'STRV_FOREACH_PAIR' 86 | _STRV_FOREACH_PAIR(x, y, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/strv.h:81:14: note: expanded from macro '_STRV_FOREACH_PAIR' 81 | for (typeof(*l) *x, *y, *i = (l); \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1478:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1478 | log_action("Would set", "Setting", |  ^ ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1478:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1482:30: warning: extension used [-Wlanguage-extension-token] 1482 | setxattr(FORMAT_PROC_FD_PATH(fd), *name, *value, strlen(*value), 0) < 0) |  ^ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/tmpfiles/tmpfiles.c:1482:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1482:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1482:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1482:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1482:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/tmpfiles/tmpfiles.c:1482:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1482:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1482:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1482:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1482:30: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/tmpfiles/tmpfiles.c:1482:30: warning: zero size arrays are an extension [-Wzero-length-array] 1482 | setxattr(FORMAT_PROC_FD_PATH(fd), *name, *value, strlen(*value), 0) < 0) |  ^~~~~~~~~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/tmpfiles/tmpfiles.c:1482:30: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] ../src/shared/fd-util.h:67:54: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/tmpfiles/tmpfiles.c:1483:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1483 | return log_error_errno(errno, "Setting extended attribute %s=%s on %s failed: %m", |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1483:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1469:36: warning: unused parameter 'st' [-Wunused-parameter] 1469 | const struct stat *st, |  ^ ../src/tmpfiles/tmpfiles.c:1470:30: warning: unused parameter 'creation' [-Wunused-parameter] 1470 | CreationMode creation) { |  ^ ../src/tmpfiles/tmpfiles.c:1520:48: warning: extension used [-Wlanguage-extension-token] 1520 | log_full_errno(arg_graceful && IN_SET(r, -EINVAL, -ENOENT, -ESRCH) ? LOG_DEBUG : LOG_WARNING, |  ^ ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:1520:48: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1520:48: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1520:48: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1520:48: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1520:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1520 | log_full_errno(arg_graceful && IN_SET(r, -EINVAL, -ENOENT, -ESRCH) ? LOG_DEBUG : LOG_WARNING, |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1520:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1520:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1520 | log_full_errno(arg_graceful && IN_SET(r, -EINVAL, -ENOENT, -ESRCH) ? LOG_DEBUG : LOG_WARNING, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1520:48: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:1520:48: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1520:48: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1652:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1652 | *ret = TAKE_PTR(parsed); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1652:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:1652:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:1652:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1694:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1694 | log_action("Would set", "Setting", |  ^ ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1694:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1706:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1706 | return -log_error_errno(errno, |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1706:33: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1735:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1735 | return log_error_errno(errno, "fstat(%s) failed: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1735:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1740:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1740 | return log_error_errno(SYNTHETIC_ERRNO(EPERM), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1740:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:1745:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1745 | log_debug("Skipping ACL fix for symlink %s.", path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1745:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1750:41: warning: extension used [-Wlanguage-extension-token] 1750 | r = parse_acl_cond_exec(FORMAT_PROC_FD_PATH(fd), |  ^ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/tmpfiles/tmpfiles.c:1750:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1750:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1750:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1750:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1750:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/tmpfiles/tmpfiles.c:1750:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1750:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1750:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1750:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1750:41: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/tmpfiles/tmpfiles.c:1750:41: warning: zero size arrays are an extension [-Wzero-length-array] 1750 | r = parse_acl_cond_exec(FORMAT_PROC_FD_PATH(fd), |  ^~~~~~~~~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/tmpfiles/tmpfiles.c:1750:41: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] ../src/shared/fd-util.h:67:54: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/tmpfiles/tmpfiles.c:1757:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1757 | return log_error_errno(r, "Failed to parse conditionalized execute bit for \"%s\": %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1757:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1759:37: warning: extension used [-Wlanguage-extension-token] 1759 | r = path_set_acl(c, FORMAT_PROC_FD_PATH(fd), path, ACL_TYPE_ACCESS, access_with_exec_parsed, item->append_or_force); |  ^ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/tmpfiles/tmpfiles.c:1759:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1759:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1759:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1759:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1759:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/tmpfiles/tmpfiles.c:1759:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1759:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1759:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1759:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1759:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/tmpfiles/tmpfiles.c:1759:37: warning: zero size arrays are an extension [-Wzero-length-array] 1759 | r = path_set_acl(c, FORMAT_PROC_FD_PATH(fd), path, ACL_TYPE_ACCESS, access_with_exec_parsed, item->append_or_force); |  ^~~~~~~~~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/tmpfiles/tmpfiles.c:1759:37: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] ../src/shared/fd-util.h:67:54: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/tmpfiles/tmpfiles.c:1761:37: warning: extension used [-Wlanguage-extension-token] 1761 | r = path_set_acl(c, FORMAT_PROC_FD_PATH(fd), path, ACL_TYPE_ACCESS, item->acl_access, item->append_or_force); |  ^ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/tmpfiles/tmpfiles.c:1761:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1761:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1761:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1761:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1761:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/tmpfiles/tmpfiles.c:1761:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1761:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1761:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1761:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1761:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/tmpfiles/tmpfiles.c:1761:37: warning: zero size arrays are an extension [-Wzero-length-array] 1761 | r = path_set_acl(c, FORMAT_PROC_FD_PATH(fd), path, ACL_TYPE_ACCESS, item->acl_access, item->append_or_force); |  ^~~~~~~~~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/tmpfiles/tmpfiles.c:1761:37: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] ../src/shared/fd-util.h:67:54: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/tmpfiles/tmpfiles.c:1765:37: warning: extension used [-Wlanguage-extension-token] 1765 | r = path_set_acl(c, FORMAT_PROC_FD_PATH(fd), path, ACL_TYPE_DEFAULT, item->acl_default, item->append_or_force); |  ^ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/tmpfiles/tmpfiles.c:1765:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1765:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1765:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1765:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1765:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/tmpfiles/tmpfiles.c:1765:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1765:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1765:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1765:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/tmpfiles/tmpfiles.c:1765:37: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/tmpfiles/tmpfiles.c:1765:37: warning: zero size arrays are an extension [-Wzero-length-array] 1765 | r = path_set_acl(c, FORMAT_PROC_FD_PATH(fd), path, ACL_TYPE_DEFAULT, item->acl_default, item->append_or_force); |  ^~~~~~~~~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/tmpfiles/tmpfiles.c:1765:37: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] ../src/shared/fd-util.h:67:54: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/tmpfiles/tmpfiles.c:1768:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1768 | log_debug_errno(r, "ACLs not supported by file system at %s", path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1768:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1780:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1780 | return log_error_errno(r, "ACL operation on \"%s\" failed: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1780:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1721:30: warning: unused parameter 'creation' [-Wunused-parameter] 1721 | CreationMode creation) { |  ^ ../src/tmpfiles/tmpfiles.c:1857:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1857 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1857:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1864:33: warning: extension used [-Wlanguage-extension-token] 1864 | for (i = 0; i < ELEMENTSOF(attributes); i++) |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1864:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1868:26: warning: extension used [-Wlanguage-extension-token] 1868 | if (i >= ELEMENTSOF(attributes)) |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1868:26: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1869:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1869 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1869:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1875:36: warning: extension used [-Wlanguage-extension-token] 1875 | SET_FLAG(value, v, IN_SET(mode, MODE_ADD, MODE_SET)); |  ^ ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:1875:36: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1875:36: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1875:36: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1875:36: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1875:36: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1875:36: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:1875:36: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1875:36: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:1984:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 1984 | log_full_errno(LOG_DEBUG, |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:1984:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2033:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2033 | return log_error_errno(errno, "fstat(%s) failed: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2033:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2040:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2040 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2040:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2050:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2050 | log_action("Would try to set", "Trying to set", |  ^ ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2050:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2060:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2060 | return log_error_errno(procfs_fd, "Failed to reopen '%s': %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2060:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2065:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2065 | log_warning("Cannot set file attributes for '%s', maybe due to incompatibility in specified attributes, " |  ^ ../src/shared/log.h:79:28: note: expanded from macro 'log_warning' 79 | #define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2065:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:79:28: note: expanded from macro 'log_warning' 79 | #define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2069:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2069 | log_full_errno(ERRNO_IS_NOT_SUPPORTED(r) ? LOG_DEBUG : LOG_WARNING, r, |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2069:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2017:30: warning: unused parameter 'creation' [-Wunused-parameter] 2017 | CreationMode creation) { |  ^ ../src/tmpfiles/tmpfiles.c:2105:44: warning: zero size arrays are an extension [-Wzero-length-array] 2105 | static const dummy_t dummy[0]; |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2151:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2151 | log_action("Would write", "Writing", "%s to \"%s\"", path); |  ^ ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2151:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2156:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2156 | return log_error_errno(r, "Failed to write file \"%s\": %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2156:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2174:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2174 | return log_error_errno(r, "Failed to extract filename from path '%s': %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2174:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2176:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2176 | return log_error_errno(SYNTHETIC_ERRNO(EISDIR), "Cannot open path '%s' for writing, is a directory.", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2176:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2189:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2189 | log_debug_errno(errno, "Not writing missing file \"%s\": %m", path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2189:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2194:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2194 | return log_debug_errno(errno, "Failed to open file \"%s\", ignoring: %m", path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2194:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2196:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2196 | return log_error_errno(errno, "Failed to open file \"%s\": %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2196:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2228:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2228 | return log_error_errno(r, "Failed to extract filename from path '%s': %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2228:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2230:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2230 | return log_error_errno(SYNTHETIC_ERRNO(EISDIR), "Cannot open path '%s' for writing, is a directory.", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2230:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2233:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2233 | log_info("Would create file %s", path); |  ^ ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2233:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2256:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2256 | return log_error_errno(fd, "Failed to create file %s: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2256:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2263:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2263 | return log_error_errno(errno, "Failed to reopen file %s: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2263:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2266:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2266 | return log_error_errno(errno, "stat(%s) failed: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2266:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2269:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2269 | return log_error_errno(SYNTHETIC_ERRNO(EEXIST), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2269:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2309:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2309 | return log_error_errno(r, "Failed to extract filename from path '%s': %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2309:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2311:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2311 | return log_error_errno(SYNTHETIC_ERRNO(EISDIR), "Cannot open path '%s' for truncation, is a directory.", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2311:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2320:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2320 | log_info("Would truncate %s", path); |  ^ ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2320:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2338:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2338 | return log_error_errno(fd, "Failed to open/create file %s: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2338:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2347:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2347 | return log_error_errno(SYNTHETIC_ERRNO(EROFS), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2347:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2351:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2351 | return log_error_errno(errno, "Failed to reopen file %s: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2351:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2359:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2359 | return log_error_errno(errno, "stat(%s) failed: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2359:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2362:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2362 | return log_error_errno(SYNTHETIC_ERRNO(EEXIST), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2362:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2369:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2369 | return log_error_errno(r, "Failed to truncate file %s: %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2369:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2374:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2374 | log_debug("\"%s\" has been created.", path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2374:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2391:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2391 | log_action("Would copy", "Copying", "%s tree \"%s\" to \"%s\"", i->argument, i->path); |  ^ ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2391:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2397:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2397 | return log_error_errno(r, "Failed to extract filename from path '%s': %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2397:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2414:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2414 | return log_error_errno(r, "Failed to copy files to %s: %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2414:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2416:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2416 | return log_error_errno(errno, "Failed to openat(%s): %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2416:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2420:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2420 | return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2420:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2423:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2423 | return log_error_errno(errno, "Failed to stat(%s): %m", i->argument); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2423:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2426:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2426 | log_debug("Can't copy to %s, file exists already and is of different type", i->path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2426:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2451:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2451 | return log_error_errno(r, "Failed to extract filename from path '%s': %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2451:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2468:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2468 | log_action("Would create", "Creating", "%s btrfs subvolume %s", path); |  ^ ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2468:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2479:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2479 | log_action("Would create", "Creating", "%s directory \"%s\"", path); |  ^ ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2479:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2494:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2494 | return log_error_errno(SYNTHETIC_ERRNO(EEXIST), "\"%s\" already exists and is not a directory.", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2494:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2498:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2498 | return log_full_errno(allow_failure ? LOG_INFO : LOG_ERR, |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2498:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2504:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2504 | return log_error_errno(errno, "Failed to open directory/subvolume we just created '%s': %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2504:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2508:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2508 | return log_error_errno(errno, "Failed to fstat(%s): %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2508:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2533:16: warning: extension used [-Wlanguage-extension-token] 2533 | assert(IN_SET(i->type, CREATE_DIRECTORY, TRUNCATE_DIRECTORY)); |  ^ ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:2533:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2533:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2533:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2533:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2533:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2533:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:2533:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2533:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2536:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2536 | log_info("Would create directory %s", path); |  ^ ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2536:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2561:16: warning: extension used [-Wlanguage-extension-token] 2561 | assert(IN_SET(i->type, CREATE_SUBVOLUME, CREATE_SUBVOLUME_NEW_QUOTA, CREATE_SUBVOLUME_INHERIT_QUOTA)); |  ^ ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:2561:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2561:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2561:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2561:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2561:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2561:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:2561:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2561:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2564:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2564 | log_info("Would create subvolume %s", path); |  ^ ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2564:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2575:13: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2575 | IN_SET(i->type, CREATE_SUBVOLUME_NEW_QUOTA, CREATE_SUBVOLUME_INHERIT_QUOTA)) { |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2575:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:2575:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2575:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2575:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2575:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2578:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2578 | log_debug_errno(r, "Couldn't adjust quota for subvolume \"%s\" (unsupported fs or dir not a subvolume): %m", i->path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2578:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2580:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2580 | log_debug_errno(r, "Couldn't adjust quota for subvolume \"%s\" (fs is read-only).", i->path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2580:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2582:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2582 | log_debug_errno(r, "Couldn't adjust quota for subvolume \"%s\" (quota support is disabled).", i->path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2582:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2584:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2584 | q = log_error_errno(r, "Failed to adjust quota for subvolume \"%s\": %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2584:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2586:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2586 | log_debug("Adjusted quota for subvolume \"%s\".", i->path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2586:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2588:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2588 | log_debug("Quota for subvolume \"%s\" already in place, no change made.", i->path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2588:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2618:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2618 | log_debug_errno(r, "Skipping missing directory: %s", path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2618:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2622:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2622 | return log_error_errno(r, "Failed to open directory '%s': %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2622:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2625:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2625 | return log_error_errno(errno, "Failed to fstat(%s): %m", path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2625:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2627:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2627 | log_warning("'%s' already exists and is not a directory.", path); |  ^ ../src/shared/log.h:79:28: note: expanded from macro 'log_warning' 79 | #define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2627:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:79:28: note: expanded from macro 'log_warning' 79 | #define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2669:16: warning: extension used [-Wlanguage-extension-token] 2669 | assert(IN_SET(i->type, CREATE_BLOCK_DEVICE, CREATE_CHAR_DEVICE)); |  ^ ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:2669:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2669:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2669:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2669:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2669:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2669:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:2669:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2669:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2670:16: warning: extension used [-Wlanguage-extension-token] 2670 | assert(IN_SET(file_type, S_IFBLK, S_IFCHR)); |  ^ ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:2670:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2670:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2670:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2670:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2670:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2670:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:2670:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2670:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2674:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2674 | return log_error_errno(r, "Failed to extract filename from path '%s': %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2674:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2676:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2676 | return log_error_errno(SYNTHETIC_ERRNO(EISDIR), "Cannot open path '%s' for creating device node, is a directory.", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2676:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2679:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2679 | log_info("Would create device node %s", i->path); |  ^ ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2679:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2706:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2706 | return log_error_errno(r, "Failed to create device node '%s': %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2706:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2709:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2709 | return log_error_errno(errno, "Failed to open device node '%s' we just created: %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2709:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2713:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2713 | return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2713:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2727:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2727 | if (IN_SET(r, -EISDIR, -EEXIST, -ENOTEMPTY)) { |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2727:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:2727:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2727:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2727:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2727:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2730:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2730 | return log_error_errno(r, "rm -rf %s failed: %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2730:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2737:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2737 | return log_error_errno(r, "Failed to create device node '%s': %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2737:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2741:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2741 | return log_error_errno(errno, "Failed to open device node we just created '%s': %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2741:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2745:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2745 | return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2745:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2748:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2748 | return log_error_errno(SYNTHETIC_ERRNO(EBADF), "Device node we just created is not a device node, refusing."); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2748:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2752:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2752 | log_warning("\"%s\" already exists and is not a device node.", i->path); |  ^ ../src/shared/log.h:79:28: note: expanded from macro 'log_warning' 79 | #define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2752:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:79:28: note: expanded from macro 'log_warning' 79 | #define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2765:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2765 | log_debug_errno(r, |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2765:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2807:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2807 | return log_error_errno(r, "Failed to extract filename from path '%s': %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2807:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2809:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2809 | return log_error_errno(SYNTHETIC_ERRNO(EISDIR), "Cannot open path '%s' for creating FIFO, is a directory.", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2809:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2812:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2812 | log_info("Would create fifo %s", i->path); |  ^ ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2812:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2832:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2832 | return log_error_errno(r, "Failed to create FIFO %s: %m", i->path); /* original error! */ |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2832:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2834:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2834 | return log_error_errno(errno, "Failed to open FIFO we just created %s: %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2834:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2838:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2838 | return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2838:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2850:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2850 | if (IN_SET(r, -EISDIR, -EEXIST, -ENOTEMPTY)) { |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2850:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:2850:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2850:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2850:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2850:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2853:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2853 | return log_error_errno(r, "rm -rf %s failed: %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2853:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2860:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2860 | return log_error_errno(r, "Failed to create FIFO %s: %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2860:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2864:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2864 | return log_error_errno(errno, "Failed to open FIFO we just created '%s': %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2864:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2868:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2868 | return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2868:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2871:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2871 | return log_error_errno(SYNTHETIC_ERRNO(EBADF), "FIFO inode we just created is not a FIFO, refusing."); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2871:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2875:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2875 | log_warning("\"%s\" already exists and is not a FIFO.", i->path); |  ^ ../src/shared/log.h:79:28: note: expanded from macro 'log_warning' 79 | #define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2875:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:79:28: note: expanded from macro 'log_warning' 79 | #define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2929:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2929 | return log_error_errno(r, "Failed to extract filename from path '%s': %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2929:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2931:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2931 | return log_error_errno(SYNTHETIC_ERRNO(EISDIR), "Cannot open path '%s' for creating FIFO, is a directory.", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2931:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2934:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2934 | log_info("Would create symlink %s -> %s", i->path, i->argument); |  ^ ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2934:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2951:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2951 | return log_error_errno(r, "Failed to create symlink '%s': %m", i->path); /* original error! */ |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2951:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2953:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2953 | return log_error_errno(errno, "Failed to open symlink we just created '%s': %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2953:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2957:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2957 | return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2957:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2964:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2964 | return log_error_errno(r, "readlinkat(%s) failed: %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2964:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:2972:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2972 | log_debug("\"%s\" is not a symlink or does not point to the correct path.", i->path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2972:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2981:21: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2981 | if (IN_SET(r, -EISDIR, -EEXIST, -ENOTEMPTY)) { |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2981:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:2981:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2981:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2981:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2981:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:2984:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2984 | return log_error_errno(r, "rm -rf %s failed: %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2984:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2991:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2991 | return log_error_errno(r, "symlink(%s, %s) failed: %m", i->argument, i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2991:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2995:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2995 | return log_error_errno(errno, "Failed to open symlink we just created '%s': %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2995:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2999:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 2999 | return log_error_errno(errno, "Failed to fstat(%s): %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:2999:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3002:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3002 | return log_error_errno(SYNTHETIC_ERRNO(EBADF), "Symlink we just created is not a symlink, refusing."); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3002:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3031:21: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3031 | r = log_error_errno(errno, "fstat() on file failed: %m"); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3031:21: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3043:29: warning: extension used [-Wlanguage-extension-token] 3043 | d = opendir(FORMAT_PROC_FD_PATH(fd)); |  ^ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/tmpfiles/tmpfiles.c:3043:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3043:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3043:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3043:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3043:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/tmpfiles/tmpfiles.c:3043:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3043:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3043:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3043:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3043:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/tmpfiles/tmpfiles.c:3043:29: warning: zero size arrays are an extension [-Wzero-length-array] 3043 | d = opendir(FORMAT_PROC_FD_PATH(fd)); |  ^~~~~~~~~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/tmpfiles/tmpfiles.c:3043:29: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] ../src/shared/fd-util.h:67:54: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] 3045 | log_error_errno(errno, "Failed to opendir() '%s': %m", FORMAT_PROC_FD_PATH(fd)); |  ^ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/tmpfiles/tmpfiles.c:3045:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3045 | log_error_errno(errno, "Failed to opendir() '%s': %m", FORMAT_PROC_FD_PATH(fd)); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3045:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] 3045 | log_error_errno(errno, "Failed to opendir() '%s': %m", FORMAT_PROC_FD_PATH(fd)); |  ^ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:10: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:233:43: note: expanded from macro 'STRLEN' 233 | #define STRLEN(x) (sizeof(""x"") - sizeof(typeof(x[0]))) |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: extension used [-Wlanguage-extension-token] ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/tmpfiles/tmpfiles.c:3045:80: warning: zero size arrays are an extension [-Wzero-length-array] 3045 | log_error_errno(errno, "Failed to opendir() '%s': %m", FORMAT_PROC_FD_PATH(fd)); |  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ../src/shared/fd-util.h:67:35: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/shared/fd-util.h:57:37: note: expanded from macro 'PROC_FD_PATH_MAX' 57 | (STRLEN("/proc/self/fd/") + DECIMAL_STR_MAX(int)) |  ^ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/log.h:87:76: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ../src/shared/log.h:67:54: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ../src/shared/log.h:59:52: note: expanded from macro 'log_full_errno_zerook' 59 | ? log_internal(_level, _e, __VA_ARGS__) \ |  ^~~~~~~~~~~ ../src/tmpfiles/tmpfiles.c:3045:80: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] ../src/shared/fd-util.h:67:54: note: expanded from macro 'FORMAT_PROC_FD_PATH' 67 | format_proc_fd_path((char[PROC_FD_PATH_MAX]) {}, (fd)) |  ^ ../src/tmpfiles/tmpfiles.c:3059:37: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3059 | q = log_error_errno(errno, "Failed to open() file '%s': %m", de->d_name); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3059:37: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3089:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3089 | return log_error_errno(k == GLOB_NOSPACE ? -ENOMEM : -EIO, "glob(%s) failed: %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3089:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3091:9: warning: extension used [-Wlanguage-extension-token] 3091 | STRV_FOREACH(fn, g.gl_pathv) { |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/tmpfiles/tmpfiles.c:3112:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3112 | return log_error_errno(k == GLOB_NOSPACE ? -ENOMEM : -EIO, "glob(%s) failed: %m", i->path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3112:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3114:9: warning: extension used [-Wlanguage-extension-token] 3114 | STRV_FOREACH(fn, g.gl_pathv) { |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/tmpfiles/tmpfiles.c:3124:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3124 | log_error_errno(errno, "Opening '%s' failed: %m", *fn); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3124:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3162:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3162 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "\"%s\" is not a valid filename.", name); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3162:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3167:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3167 | return log_full_errno(r == -ENOENT? LOG_DEBUG : LOG_ERR, r, |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3167:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3168:84: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 3168 | "Failed to stat \"%s/%s\": %m", parent_name ?: "...", name); |  ^ ../src/tmpfiles/tmpfiles.c:3174:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3174 | return log_error_errno(SYNTHETIC_ERRNO(ENOLINK), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3174:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3175:97: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 3175 | "Unsafe transition from \"%s\" to \"%s\".", parent_name ?: "...", name); |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:3182:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3182 | log_notice("Wrong file type 0o%o; rm -rf \"%s/%s\"", st.st_mode & S_IFMT, parent_name ?: "...", name); |  ^ ../src/shared/log.h:78:28: note: expanded from macro 'log_notice' 78 | #define log_notice(...) log_full(LOG_NOTICE, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3182:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:78:28: note: expanded from macro 'log_notice' 78 | #define log_notice(...) log_full(LOG_NOTICE, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3182:96: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 3182 | log_notice("Wrong file type 0o%o; rm -rf \"%s/%s\"", st.st_mode & S_IFMT, parent_name ?: "...", name); |  ^ ../src/tmpfiles/tmpfiles.c:3189:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3189 | return log_error_errno(r, "Failed to stat \"%s/%s\": %m", parent_name ?: "...", name); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3189:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3189:96: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 3189 | return log_error_errno(r, "Failed to stat \"%s/%s\": %m", parent_name ?: "...", name); |  ^ ../src/tmpfiles/tmpfiles.c:3195:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3195 | (void) log_warning_errno(r, "Failed to check if \"%s/%s\" is a mount point: %m; continuing.", |  ^ ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3195:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:86:41: note: expanded from macro 'log_warning_errno' 86 | #define log_warning_errno(error, ...) log_full_errno(LOG_WARNING, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3196:55: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 3196 | parent_name ?: "...", name); |  ^ ../src/tmpfiles/tmpfiles.c:3198:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3198 | return log_error_errno(SYNTHETIC_ERRNO(EBUSY), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3198:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3199:102: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 3199 | "Not removing \"%s/%s\" because it is a mount point.", parent_name ?: "...", name); |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:3201:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3201 | log_action("Would remove", "Removing", "%s %s/%s", parent_name ?: "...", name); |  ^ ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3201:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3201:73: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 3201 | log_action("Would remove", "Removing", "%s %s/%s", parent_name ?: "...", name); |  ^ ../src/tmpfiles/tmpfiles.c:3208:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3208 | return log_error_errno(errno, "Failed to open \"%s/%s\": %m", parent_name ?: "...", name); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3208:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3208:108: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 3208 | return log_error_errno(errno, "Failed to open \"%s/%s\": %m", parent_name ?: "...", name); |  ^ ../src/tmpfiles/tmpfiles.c:3210:44: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3210 | r = rm_rf_children(TAKE_FD(child_fd), REMOVE_ROOT|REMOVE_SUBVOLUME, &st); |  ^ ../src/shared/fd-util.h:38:21: note: expanded from macro 'TAKE_FD' 38 | #define TAKE_FD(fd) TAKE_GENERIC(fd, int, -EBADF) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3212:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3212 | return log_error_errno(r, "Failed to remove contents of \"%s/%s\": %m", parent_name ?: "...", name); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3212:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3212:118: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 3212 | return log_error_errno(r, "Failed to remove contents of \"%s/%s\": %m", parent_name ?: "...", name); |  ^ ../src/tmpfiles/tmpfiles.c:3218:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3218 | return log_error_errno(r, "Failed to remove \"%s/%s\": %m", parent_name ?: "...", name); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3218:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3218:98: warning: use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand] 3218 | return log_error_errno(r, "Failed to remove \"%s/%s\": %m", parent_name ?: "...", name); |  ^ ../src/tmpfiles/tmpfiles.c:3243:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3243 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3243:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3249:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3249 | return log_error_errno(errno, "Failed to open root: %m"); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3249:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3252:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3252 | return log_error_errno(errno, "Failed to stat root: %m"); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3252:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3284:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3284 | return log_error_errno(r, "Failed to mkdir \"%s\" at \"%s\": %m", t, strnull(parent_name)); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3284:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3296:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3296 | return log_error_errno(next_fd, "Failed to open \"%s\" at \"%s\": %m", t, strnull(parent_name)); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3296:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3303:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3303 | return log_error_errno(r, "Failed to stat \"%s\" at \"%s\": %m", t, strnull(parent_name)); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3303:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3306:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3306 | close_and_replace(parent_fd, next_fd); |  ^ ../src/shared/fd-util.h:42:10: note: expanded from macro 'close_and_replace' 42 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3306:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/fd-util.h:45:26: note: expanded from macro 'close_and_replace' 45 | *_fdp_ = TAKE_FD(b); \ |  ^ ../src/shared/fd-util.h:38:21: note: expanded from macro 'TAKE_FD' 38 | #define TAKE_FD(fd) TAKE_GENERIC(fd, int, -EBADF) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:3349:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3349 | log_debug("Running create action for entry %c %s", (char) i->type, i->path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3349:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:3446:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3446 | log_debug("We lack CAP_MKNOD, skipping creation of device node %s.", i->path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3446:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:3529:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3529 | log_action("Would remove", "Removing", "%s file \"%s\".", instance); |  ^ ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3529:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3533:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3533 | return log_error_errno(errno, "rm %s: %m", instance); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3533:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:3552:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3552 | log_debug("Removing directory \"%s\".", instance); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3552:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3554:31: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3554 | if (r < 0 && !IN_SET(r, -ENOENT, -ENOTEMPTY)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3554:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:3554:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:3554:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:3554:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:3554:31: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:3555:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3555 | return log_error_errno(r, "Failed to remove %s: %m", instance); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3555:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3560:88: warning: unused parameter 'creation' [-Wunused-parameter] 3560 | static int purge_item_instance(Context *c, Item *i, const char *instance, CreationMode creation) { |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:3571:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3571 | log_debug("Running purge action for entry %c %s", (char) i->type, i->path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3571:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:3591:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3591 | log_action("Would remove", "Removing", "%s \"%s\".", instance); |  ^ ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3591:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/tmpfiles/tmpfiles.c:655:9: note: expanded from macro 'log_action' 655 | log_full(arg_dry_run ? LOG_INFO : LOG_DEBUG, \ |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3595:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3595 | return log_error_errno(errno, "rm %s: %m", instance); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3595:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3583:30: warning: unused parameter 'creation' [-Wunused-parameter] 3583 | CreationMode creation) { |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:3611:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3611 | log_debug("Running remove action for entry %c %s", (char) i->type, i->path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3611:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3632:22: warning: extension used [-Wlanguage-extension-token] 3632 | ret = malloc(ELEMENTSOF(ab_map) + 1); |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:3632:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:3636:32: warning: extension used [-Wlanguage-extension-token] 3636 | for (size_t i = 0; i < ELEMENTSOF(ab_map); i++) |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:3636:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:3685:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3685 | log_debug("Cleanup threshold for %s \"%s\" is %llu; age-by: %s%s", |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3685:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3648:30: warning: unused parameter 'creation' [-Wunused-parameter] 3648 | CreationMode creation) { |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:3705:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3705 | log_debug("Running clean action for entry %c %s", (char) i->type, i->path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3705:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3756:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3756 | return log_debug_errno(-ENOMEM, "Failed to deglob path: %m"); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3756:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3763:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3763 | log_notice_errno(r, "Skipping %s", i->path); /* We log the configured path, to not confuse the user. */ |  ^ ../src/shared/log.h:85:41: note: expanded from macro 'log_notice_errno' 85 | #define log_notice_errno(error, ...) log_full_errno(LOG_NOTICE, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3763:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:85:41: note: expanded from macro 'log_notice_errno' 85 | #define log_notice_errno(error, ...) log_full_errno(LOG_NOTICE, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3767:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3767 | log_debug_errno(r, "Failed to determine whether '%s' is below autofs, ignoring: %m", i->path); |  ^ ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3767:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:83:41: note: expanded from macro 'log_debug_errno' 83 | #define log_debug_errno(error, ...) log_full_errno(LOG_DEBUG, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3853:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3853 | return mfree(a); |  ^ ../src/shared/macro.h:236:10: note: expanded from macro 'mfree' 236 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3853:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:238:18: note: expanded from macro 'mfree' 238 | (typeof(memory)) NULL; \ |  ^ ../src/tmpfiles/tmpfiles.c:3868:16: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3868 | return CMP(a->type, b->type); |  ^ ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:162:10: note: expanded from macro '__CMP' 162 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3868:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:163:23: note: expanded from macro '__CMP' 163 | const typeof(a) UNIQ_T(A, aq) = (a); \ |  ^ ../src/tmpfiles/tmpfiles.c:3868:16: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:160:19: note: expanded from macro 'CMP' 160 | #define CMP(a, b) __CMP(UNIQ, (a), UNIQ, (b)) |  ^ ../src/shared/macro.h:164:23: note: expanded from macro '__CMP' 164 | const typeof(b) UNIQ_T(B, bq) = (b); \ |  ^ ../src/tmpfiles/tmpfiles.c:3912:9: warning: extension used [-Wlanguage-extension-token] 3912 | STRV_FOREACH(prefix, arg_exclude_prefixes) |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:3914:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3914 | log_debug("Entry \"%s\" matches exclude prefix \"%s\", skipping.", |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3914:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3919:9: warning: extension used [-Wlanguage-extension-token] 3919 | STRV_FOREACH(prefix, arg_include_prefixes) |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:3921:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3921 | log_debug("Entry \"%s\" matches include prefix \"%s\".", path, *prefix); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3921:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:3929:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3929 | log_debug("Entry \"%s\" does not match any include prefix, skipping.", path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3929:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3952:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3952 | return log_error_errno(l, "Failed to unescape parameter to write: %s", i->argument); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3952:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3958:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3958 | return free_and_replace(i->argument, resolved); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3958:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/tmpfiles/tmpfiles.c:3958:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ ../src/tmpfiles/tmpfiles.c:3962:17: warning: extension used [-Wlanguage-extension-token] 3962 | STRV_FOREACH(xattr, i->xattrs) { |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/tmpfiles/tmpfiles.c:3969:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 3969 | free_and_replace(*xattr, resolved); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:3969:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/tmpfiles/tmpfiles.c:3969:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:4006:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4006 | log_notice("%s:%u: Line references path below legacy directory /var/run/, updating %s → %s; please update the tmpfiles.d/ drop-in file accordingly.", fname, line, |  ^ ../src/shared/log.h:78:28: note: expanded from macro 'log_notice' 78 | #define log_notice(...) log_full(LOG_NOTICE, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4006:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:78:28: note: expanded from macro 'log_notice' 78 | #define log_notice(...) log_full(LOG_NOTICE, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4009:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4009 | free_and_replace(*path, n); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4009:9: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/tmpfiles/tmpfiles.c:4009:9: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ ../src/tmpfiles/tmpfiles.c:4057:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4057 | return IN_SET(errno, 0, ENOENT) ? -ESRCH : -errno; |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4057:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:4057:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4057:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4057:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4057:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4137:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4137 | return IN_SET(errno, 0, ENOENT) ? -ESRCH : -errno; |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4137:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:4137:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4137:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4137:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4137:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4200:33: warning: extension used [-Wlanguage-extension-token] 4200 | for (i = 0; i < ELEMENTSOF(age_by_types); i++) { |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4200:33: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4212:26: warning: extension used [-Wlanguage-extension-token] 4212 | if (i >= ELEMENTSOF(age_by_types)) |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4212:26: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4291:17: warning: extension used [-Wlanguage-extension-token] 4291 | if (n > DECIMAL_STR_MAX(dev_t)) |  ^ ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/tmpfiles/tmpfiles.c:4291:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/tmpfiles/tmpfiles.c:4291:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/tmpfiles/tmpfiles.c:4291:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/tmpfiles/tmpfiles.c:4291:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:360:19: note: expanded from macro 'DECIMAL_STR_MAX' 360 | ((size_t) IS_SIGNED_INTEGER_TYPE(type) + 1U + \ |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/tmpfiles/tmpfiles.c:4291:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:128:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 128 | (__builtin_types_compatible_p(typeof(type), signed char) || \ |  ^ ../src/tmpfiles/tmpfiles.c:4291:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:129:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 129 | __builtin_types_compatible_p(typeof(type), signed short) || \ |  ^ ../src/tmpfiles/tmpfiles.c:4291:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:130:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 130 | __builtin_types_compatible_p(typeof(type), signed) || \ |  ^ ../src/tmpfiles/tmpfiles.c:4291:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:131:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 131 | __builtin_types_compatible_p(typeof(type), signed long) || \ |  ^ ../src/tmpfiles/tmpfiles.c:4291:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:364:35: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^ ../src/shared/macro.h:132:39: note: expanded from macro 'IS_SIGNED_INTEGER_TYPE' 132 | __builtin_types_compatible_p(typeof(type), signed long long)) |  ^ ../src/tmpfiles/tmpfiles.c:4291:17: warning: zero size arrays are an extension [-Wzero-length-array] 4291 | if (n > DECIMAL_STR_MAX(dev_t)) |  ^~~~~~~~~~~~~~~~~~~~~~ ../src/shared/macro.h:364:90: note: expanded from macro 'DECIMAL_STR_MAX' 364 | sizeof(type) <= 8 ? (IS_SIGNED_INTEGER_TYPE(type) ? 19U : 20U) : sizeof(int[-2*(sizeof(type) > 8)]))) |  ^~~~~~~~~~~~~~~~~~~~~ ../src/tmpfiles/tmpfiles.c:4305:14: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4305 | if (!DEVICE_MAJOR_VALID(x) || !DEVICE_MINOR_VALID(y)) |  ^ ../src/tmpfiles/tmpfiles.c:4271:10: note: expanded from macro 'DEVICE_MAJOR_VALID' 4271 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4305:14: warning: extension used [-Wlanguage-extension-token] ../src/tmpfiles/tmpfiles.c:4272:17: note: expanded from macro 'DEVICE_MAJOR_VALID' 4272 | typeof(x) _x = (x), _y = 0; \ |  ^ ../src/tmpfiles/tmpfiles.c:4305:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4305 | if (!DEVICE_MAJOR_VALID(x) || !DEVICE_MINOR_VALID(y)) |  ^ ../src/tmpfiles/tmpfiles.c:4278:10: note: expanded from macro 'DEVICE_MINOR_VALID' 4278 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4305:40: warning: extension used [-Wlanguage-extension-token] ../src/tmpfiles/tmpfiles.c:4279:17: note: expanded from macro 'DEVICE_MINOR_VALID' 4279 | typeof(x) _x = (x), _y = 0; \ |  ^ ../src/tmpfiles/tmpfiles.c:4359:32: warning: extension used [-Wlanguage-extension-token] 4359 | for (size_t i = 0; i < ELEMENTSOF(table); i++) { |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4359:32: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4484:13: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4484 | if (IN_SET(c, '+', '-')) /* Support both the regular and the URL safe character set (see above) */ |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4484:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:4484:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4484:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4484:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4484:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4489:13: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4489 | if (IN_SET(c, '/', '_')) /* ditto */ |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4489:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:4489:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4489:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4489:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4489:13: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4627:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4627 | *ret = TAKE_PTR(buf); |  ^ ../src/shared/macro.h:224:23: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/shared/macro.h:223:34: note: expanded from macro 'TAKE_PTR_TYPE' 223 | #define TAKE_PTR_TYPE(ptr, type) TAKE_GENERIC(ptr, type, NULL) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4627:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:4627:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:4627:24: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:224:42: note: expanded from macro 'TAKE_PTR' 224 | #define TAKE_PTR(ptr) TAKE_PTR_TYPE(ptr, typeof(ptr)) |  ^ ../src/tmpfiles/tmpfiles.c:4639:22: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4639 | Context *c = ASSERT_PTR(context); |  ^ ../src/shared/macro.h:106:26: note: expanded from macro 'ASSERT_PTR' 106 | #define ASSERT_PTR(expr) _ASSERT_PTR(expr, UNIQ_T(_expr_, UNIQ), assert) |  ^ ../src/shared/macro.h:109:10: note: expanded from macro '_ASSERT_PTR' 109 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4639:22: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:106:26: note: expanded from macro 'ASSERT_PTR' 106 | #define ASSERT_PTR(expr) _ASSERT_PTR(expr, UNIQ_T(_expr_, UNIQ), assert) |  ^ ../src/shared/macro.h:110:17: note: expanded from macro '_ASSERT_PTR' 110 | typeof(expr) var = (expr); \ |  ^ ../src/tmpfiles/tmpfiles.c:4683:17: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] 4683 | {} |  ^ ../src/tmpfiles/tmpfiles.c:4699:21: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4699 | if (IN_SET(r, -EINVAL, -EBADSLT)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4699:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:4699:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4699:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4699:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4699:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4702:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4702 | return log_error_errno(r, "%s:%u: Failed to parse line: %m", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4702:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4705:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4705 | return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "%s:%u: Syntax error.", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4705:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4716:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4716 | return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "%s:%u: Command too short '%s'.", fname, line, action); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4716:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4732:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4732 | return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "%s:%u: Unknown modifiers in command '%s'", fname, line, action); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4732:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:4737:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4737 | log_debug("%s:%u: Ignoring entry %s \"%s\" because --boot is not specified.", fname, line, action, path); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4737:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4750:21: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4750 | if (IN_SET(r, -EINVAL, -EBADSLT)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4750:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:4750:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4750:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4750:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4750:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4752:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4752 | return log_error_errno(r, "%s:%u: Failed to replace specifiers in '%s': %m", fname, line, path); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4752:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4761:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4761 | return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4761:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:4784:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4784 | log_warning("%s:%u: %c lines don't take argument fields, ignoring.", fname, line, |  ^ ../src/shared/log.h:79:28: note: expanded from macro 'log_warning' 79 | #define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4784:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:79:28: note: expanded from macro 'log_warning' 79 | #define log_warning(...) log_full(LOG_WARNING, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4796:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4796 | return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "%s:%u: base64 decoding not supported for symlink targets.", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4796:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4803:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4803 | return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "%s:%u: Write file requires argument.", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4803:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4810:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4810 | return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "%s:%u: base64 decoding not supported for copy sources.", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4810:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4818:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4818 | return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "%s:%u: base64 decoding not supported for device node creation.", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4818:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4823:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4823 | return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "%s:%u: Device file requires argument.", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4823:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4829:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4829 | return log_error_errno(r, "%s:%u: Can't parse device file major/minor '%s'.", fname, line, i.argument); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4829:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4838:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4838 | return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "%s:%u: base64 decoding not supported for extended attributes.", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4838:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4842:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4842 | return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4842:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4854:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4854 | return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "%s:%u: base64 decoding not supported for ACLs.", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4854:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4858:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4858 | return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4858:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4870:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4870 | return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "%s:%u: base64 decoding not supported for file attributes.", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4870:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4874:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4874 | return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4874:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4878:21: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4878 | if (IN_SET(r, -EINVAL, -EBADSLT)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4878:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:4878:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4878:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4878:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4878:21: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4886:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4886 | return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4886:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4899:29: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4899 | if (IN_SET(r, -EINVAL, -EBADSLT)) |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4899:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:4899:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4899:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4899:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4899:29: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:4901:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4901 | return log_error_errno(r, "%s:%u: Failed to substitute specifiers in argument: %m", fname, line); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4901:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4921:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4921 | return log_error_errno(SYNTHETIC_ERRNO(EBADMSG), "%s:%u: Source path '%s' is not absolute.", fname, line, i.argument); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4921:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4931:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4931 | free_and_replace(i.argument, p); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4931:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/tmpfiles/tmpfiles.c:4931:25: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:4938:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4938 | log_debug("%s:%u: Copy source path '%s' does not exist, skipping line.", fname, line, i.argument); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4938:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4955:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4955 | return log_error_errno(r, "%s:%u: Failed to base64 decode specified argument '%s': %m", fname, line, i.argument); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4955:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4957:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4957 | free_and_replace(i.binary_argument, data); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4957:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/tmpfiles/tmpfiles.c:4957:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ ../src/tmpfiles/tmpfiles.c:4967:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4967 | free_and_replace(i.path, p); |  ^ ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:16:10: note: expanded from macro 'free_and_replace_full' 16 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4967:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:17:17: note: expanded from macro 'free_and_replace_full' 17 | typeof(a)* _a = &(a); \ |  ^ ../src/tmpfiles/tmpfiles.c:4967:17: warning: extension used [-Wlanguage-extension-token] ../src/shared/alloc-util.h:26:9: note: expanded from macro 'free_and_replace' 26 | free_and_replace_full(a, b, free) |  ^ ../src/shared/alloc-util.h:18:17: note: expanded from macro 'free_and_replace_full' 18 | typeof(b)* _b = &(b); \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:4981:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4981 | log_debug("%s:%u: %s: user '%s' not found, not adjusting ownership.", fname, line, i.path, u); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4981:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4985:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 4985 | return log_error_errno(r, "%s:%u: Failed to resolve user '%s': %m", fname, line, u); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:4985:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:5001:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5001 | log_debug("%s:%u: %s: group '%s' not found, not adjusting ownership.", fname, line, i.path, g); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5001:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5005:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5005 | return log_error_errno(r, "%s:%u: Failed to resolve group '%s': %m", fname, line, g); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5005:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5026:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5026 | return log_error_errno(r, "%s:%u: Invalid mode '%s'.", fname, line, mode); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5026:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5032:26: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5032 | i.mode = IN_SET(i.type, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5032:26: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:5032:26: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:5032:26: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:5032:26: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:5032:26: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:5042:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5042 | log_info("%s:%u: Changing mode 0%o to 0%o because of changed ownership.", fname, line, i.mode, adjusted); |  ^ ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5042:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:77:28: note: expanded from macro 'log_info' 77 | #define log_info(...) log_full(LOG_INFO, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5060:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5060 | return log_error_errno(r, "Failed to parse age-by for '%s': %m", age); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5060:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5068:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5068 | return log_error_errno(r, "%s:%u: Invalid age-by '%s'.", fname, line, age_by); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5068:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5078:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5078 | return log_error_errno(r, "%s:%u: Invalid age '%s'.", fname, line, a); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5078:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:5089:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5089 | log_notice("%s:%u: Duplicate line for path \"%s\", ignoring.", fname, line, i.path); |  ^ ../src/shared/log.h:78:28: note: expanded from macro 'log_notice' 78 | #define log_notice(...) log_full(LOG_NOTICE, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5089:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:78:28: note: expanded from macro 'log_notice' 78 | #define log_notice(...) log_full(LOG_NOTICE, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5109:48: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5109 | existing->items[existing->n_items++] = TAKE_STRUCT(i); |  ^ ../src/shared/macro.h:226:24: note: expanded from macro 'TAKE_STRUCT' 226 | #define TAKE_STRUCT(s) TAKE_STRUCT_TYPE(s, typeof(s)) |  ^ ../src/shared/macro.h:225:35: note: expanded from macro 'TAKE_STRUCT_TYPE' 225 | #define TAKE_STRUCT_TYPE(s, type) TAKE_GENERIC(s, type, {}) |  ^ ../src/shared/macro.h:216:10: note: expanded from macro 'TAKE_GENERIC' 216 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5109:48: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:226:44: note: expanded from macro 'TAKE_STRUCT' 226 | #define TAKE_STRUCT(s) TAKE_STRUCT_TYPE(s, typeof(s)) |  ^ ../src/tmpfiles/tmpfiles.c:5109:48: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:226:44: note: expanded from macro 'TAKE_STRUCT' 226 | #define TAKE_STRUCT(s) TAKE_STRUCT_TYPE(s, typeof(s)) |  ^ ../src/tmpfiles/tmpfiles.c:5109:48: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:226:44: note: expanded from macro 'TAKE_STRUCT' 226 | #define TAKE_STRUCT(s) TAKE_STRUCT_TYPE(s, typeof(s)) |  ^ ../src/tmpfiles/tmpfiles.c:5109:48: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] ../src/shared/macro.h:226:24: note: expanded from macro 'TAKE_STRUCT' 226 | #define TAKE_STRUCT(s) TAKE_STRUCT_TYPE(s, typeof(s)) |  ^ ../src/shared/macro.h:225:57: note: expanded from macro 'TAKE_STRUCT_TYPE' 225 | #define TAKE_STRUCT_TYPE(s, type) TAKE_GENERIC(s, type, {}) |  ^ ../src/tmpfiles/tmpfiles.c:5117:50: warning: unused parameter 'args' [-Wunused-parameter] 5117 | static int cat_config(char **config_dirs, char **args) { |  ^ ../src/tmpfiles/tmpfiles.c:5216:17: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] 5216 | {} |  ^ ../src/tmpfiles/tmpfiles.c:5295:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5295 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5295:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5298:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5298 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5298:40: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5316:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5316 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5316:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5320:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5320 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5320:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5324:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5324 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5324:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5328:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5328 | return log_error_errno(SYNTHETIC_ERRNO(EINVAL), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5328:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5365:46: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5365 | if (!IN_SET(j->type, CREATE_DIRECTORY, |  ^ ../src/shared/macro.h:197:10: note: expanded from macro 'IN_SET' 197 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5365:46: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:201:30: note: expanded from macro 'IN_SET' 201 | static const typeof(+x) __assert_in_set[] _unused_ = { first, __VA_ARGS__ }; \ |  ^ ../src/tmpfiles/tmpfiles.c:5365:46: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:5365:46: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:5365:46: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:47: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:5365:46: warning: extension used [-Wlanguage-extension-token] ../src/shared/macro.h:202:27: note: expanded from macro 'IN_SET' 202 | assert_cc(ELEMENTSOF(__assert_in_set) <= 20); \ |  ^ ../src/shared/macro.h:98:58: note: expanded from macro 'ELEMENTSOF' 98 | !__builtin_types_compatible_p(typeof(x), typeof(&*(x))), \ |  ^ ../src/tmpfiles/tmpfiles.c:5401:9: warning: extension used [-Wlanguage-extension-token] 5401 | STRV_FOREACH(arg, args) { |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ ../src/tmpfiles/tmpfiles.c:5426:9: warning: extension used [-Wlanguage-extension-token] 5426 | STRV_FOREACH(f, files) |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:5428:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5428 | log_debug("Parsing arguments at position \"%s\"...", *f); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5428:25: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5458:9: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5458 | PATH_FOREACH_PREFIX(prefix, path) { |  ^ ../src/shared/path-util.h:80:30: note: expanded from macro 'PATH_FOREACH_PREFIX' 80 | for (char *_slash = ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5477:1: warning: extra ';' outside of a function [-Wextra-semi] 5477 | DEFINE_PRIVATE_HASH_OPS_WITH_VALUE_DESTRUCTOR(item_array_hash_ops, char, string_hash_func, string_compare_func, | ^ ../src/shared/hash-funcs.h:68:9: note: expanded from macro 'DEFINE_PRIVATE_HASH_OPS_WITH_VALUE_DESTRUCTOR' 68 | _DEFINE_HASH_OPS_WITH_VALUE_DESTRUCTOR(UNIQ, name, type, hash_func, compare_func, value_type, free_func, static) |  ^ ../src/shared/hash-funcs.h:41:74: note: expanded from macro '_DEFINE_HASH_OPS_WITH_VALUE_DESTRUCTOR' 41 | _DEFINE_FREE_FUNC(uq, type_value, static_free_wrapper, free_func); \ |  ^ ../src/tmpfiles/tmpfiles.c:5482:45: warning: use of an empty initializer is a C23 extension [-Wc23-extensions] 5482 | _cleanup_(context_done) Context c = {}; |  ^ ../src/tmpfiles/tmpfiles.c:5508:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5508 | return log_error_errno(SYNTHETIC_ERRNO(ENOSYS), |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5508:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5517:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5517 | return log_error_errno(r, "Failed to find nobody uid."); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5517:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5525:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5525 | return log_error_errno(r, "Failed to find nobody gid."); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5525:24: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5547:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5547 | return log_error_errno(r, "Failed to initialize configuration directory list: %m"); |  ^ ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:65:10: note: expanded from macro 'log_full_errno' 65 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5547:32: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:87:41: note: expanded from macro 'log_error_errno' 87 | #define log_error_errno(error, ...) log_full_errno(LOG_ERR, error, __VA_ARGS__) |  ^ ../src/shared/log.h:67:17: note: expanded from macro 'log_full_errno' 67 | log_full_errno_zerook(level, _error, __VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5562:17: warning: extension used [-Wlanguage-extension-token] 5562 | STRV_FOREACH(i, config_dirs) { |  ^ ../src/shared/string-util.h:47:9: note: expanded from macro 'STRV_FOREACH' 47 | _STRV_FOREACH(s, l, UNIQ_T(i, UNIQ)) |  ^ ../src/shared/string-util.h:44:14: note: expanded from macro '_STRV_FOREACH' 44 | for (typeof(*(l)) *s, *i = (l); (s = i) && *i; i++) |  ^ In file included from ../src/tmpfiles/tmpfiles.c:25: In file included from ../src/shared/acl-util.h:12: In file included from ../src/shared/macro.h:393: ../src/shared/log.h:72:61: warning: token pasting of ',' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments] 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/tmpfiles/tmpfiles.c:5573:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] 5573 | log_debug("Looking for configuration files in (higher priority first):%s", t); |  ^ ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:71:10: note: expanded from macro 'log_full' 71 | ({ \ |  ^ ../src/tmpfiles/tmpfiles.c:5573:17: warning: use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion] ../src/shared/log.h:76:28: note: expanded from macro 'log_debug' 76 | #define log_debug(...) log_full(LOG_DEBUG, __VA_ARGS__) |  ^ ../src/shared/log.h:72:24: note: expanded from macro 'log_full' 72 | (void) log_full_errno_zerook(level, 0, fmt, ##__VA_ARGS__); \ |  ^ ../src/shared/log.h:56:10: note: expanded from macro 'log_full_errno_zerook' 56 | ({ \ |  ^ 1243 warnings generated. [38/38] Linking target src/tmpfiles/sd-tmpfiles INFO: autodetecting backend as ninja INFO: calculating backend command to run: /usr/bin/ninja -C /home/buildozer/aports/community/sd-tools/src/sd-tools-0.99.0/output >>> sd-tools: Entering fakeroot... Installing src/sysusers/sd-sysusers to /home/buildozer/aports/community/sd-tools/pkg/sd-tools/usr/bin Installing src/tmpfiles/sd-tmpfiles to /home/buildozer/aports/community/sd-tools/pkg/sd-tools/usr/bin >>> sd-tools-doc*: Running split function doc... >>> sd-tools-doc*: Preparing subpackage sd-tools-doc... >>> sd-tools-doc*: Running postcheck for sd-tools-doc >>> sd-tools*: Running postcheck for sd-tools >>> sd-tools*: Preparing package sd-tools... >>> sd-tools*: Stripping binaries >>> sd-tools-doc*: Scanning shared objects >>> sd-tools*: Scanning shared objects >>> sd-tools-doc*: Tracing dependencies... >>> sd-tools-doc*: Package size: 52.0 KB >>> sd-tools-doc*: Compressing data... >>> sd-tools-doc*: Create checksum... >>> sd-tools-doc*: Create sd-tools-doc-0.99.0-r0.apk >>> sd-tools*: Tracing dependencies... so:libacl.so.1 so:libc.musl-armv7.so.1 so:libcap.so.2 >>> sd-tools*: Package size: 332.0 KB >>> sd-tools*: Compressing data... >>> sd-tools*: Create checksum... >>> sd-tools*: Create sd-tools-0.99.0-r0.apk >>> sd-tools: Build complete at Sat, 05 Oct 2024 15:11:36 +0000 elapsed time 0h 0m 6s >>> sd-tools: Cleaning up srcdir >>> sd-tools: Cleaning up pkgdir >>> sd-tools: Uninstalling dependencies... (1/24) Purging .makedepends-sd-tools (20241005.151131) (2/24) Purging acl-dev (2.3.2-r1) (3/24) Purging libcap-dev (2.70-r0) (4/24) Purging linux-headers (6.6-r0) (5/24) Purging meson-pyc (1.5.2-r0) (6/24) Purging meson (1.5.2-r0) (7/24) Purging samurai (1.2-r5) (8/24) Purging python3-pyc (3.12.6-r0) (9/24) Purging python3-pycache-pyc0 (3.12.6-r0) (10/24) Purging pyc (3.12.6-r0) (11/24) Purging python3 (3.12.6-r0) (12/24) Purging clang18 (18.1.8-r0) (13/24) Purging llvm18-linker-tools (18.1.8-r0) (14/24) Purging clang18-headers (18.1.8-r0) (15/24) Purging clang18-libs (18.1.8-r0) (16/24) Purging gdbm (1.24-r0) (17/24) Purging libbz2 (1.0.8-r6) (18/24) Purging libpanelw (6.5_p20240601-r1) (19/24) Purging llvm18-libs (18.1.8-r0) (20/24) Purging mpdecimal (4.0.0-r0) (21/24) Purging sqlite-libs (3.46.1-r0) (22/24) Purging libffi (3.4.6-r0) (23/24) Purging libxml2 (2.12.8-r0) (24/24) Purging xz-libs (5.6.3-r0) Executing busybox-1.36.1-r32.trigger OK: 283 MiB in 103 packages >>> sd-tools: Updating the community/armv7 repository index... >>> sd-tools: Signing the index...